刘洋 преди 1 година
родител
ревизия
b8a5255344
променени са 4 файла, в които са добавени 45 реда и са изтрити 7 реда
  1. 1 0
      package.json
  2. 12 2
      src/config/constants.js
  3. 1 0
      src/main.js
  4. 31 5
      src/views/service-unit/dispatch/dispatch-manage/create-sop.vue

+ 1 - 0
package.json

@@ -23,6 +23,7 @@
     "@cloudcare/browser-rum": "^3.1.10",
     "@tinymce/tinymce-vue": "^5.1.1",
     "@vueuse/core": "^9.13.0",
+    "animate.css": "^4.1.1",
     "autoprefixer": "^10.4.14",
     "axios": "^1.2.1",
     "china-division": "^2.6.1",

+ 12 - 2
src/config/constants.js

@@ -236,12 +236,22 @@ export const DATA_PRIVILEGE_TYPE = {
   ALL: '全部数据权限',
 };
 
+// export const DEVICE_SEND_STATUS = {
+//   UN_DELIVER: '待发货',
+//   DELIVER: '已发货',
+//   RECEIVE: '已签收',
+//   // CANCEL: '作废',
+//   RETURN: '已返还',
+// };
 export const DEVICE_SEND_STATUS = {
   UN_DELIVER: '待发货',
   DELIVER: '已发货',
+  USING: '使用中',
+  TRANSFER: '中转',
+  TRANSFER_SIGN: '中转已签收',
+  IN: '入库',
   RECEIVE: '已签收',
-  // CANCEL: '作废',
-  RETURN: '已返还',
+  CANCEL: '作废',
 };
 
 export const SERVICE_RANGE = {

+ 1 - 0
src/main.js

@@ -14,6 +14,7 @@ import './style/index.less';
 import './style/global.less';
 import './style/black.less';
 import 'uno.css';
+import 'animate.css';
 import { setGlobalOptions } from 'vue-request';
 import packageJson from '../package.json';
 // import './mock/index';

+ 31 - 5
src/views/service-unit/dispatch/dispatch-manage/create-sop.vue

@@ -9,9 +9,9 @@
     :closeOnOverlayClick="false"
     :close-btn="true"
     :cancel-btn="null"
-    @close="visible = false"
+    @close="drawerOnClose"
     confirmBtn="关闭"
-    @confirm="confirm"
+    @confirm="drawerOnClose"
   >
     <t-collapse class="sop-step-mid" defaultExpandAll>
       <t-collapse-panel disabled>
@@ -54,8 +54,14 @@
       </t-collapse-panel>
     </t-collapse>
     <div class="pt-20px" style="border-top: 1px solid #f0f0f0">
-      <t-button @click="editProcessVar">编辑</t-button>
-      <t-button class="ml-10px" variant="outline" @click="saveProcessVar"
+      <t-button @click="editProcessVar" v-if="!radioEditStatus">编辑</t-button>
+      <t-button @click="editProcessVar" v-else>取消</t-button>
+      <t-button
+        class="ml-10px animate__animated"
+        variant="outline"
+        @click="saveProcessVar"
+        :disabled="!radioEditStatus"
+        :class="{ animate__shakeX: rejectClose }"
         >保存</t-button
       >
     </div>
@@ -326,9 +332,11 @@ const {
   false
 );
 const processVar = ref([]);
+const radioEditStatus = ref(false);
 const editProcessVar = () => {
+  radioEditStatus.value = !radioEditStatus.value;
   processVar.value.forEach((item) => {
-    item.writable = true;
+    item.writable = radioEditStatus.value;
   });
 };
 const saveProcessVar = () => {
@@ -344,9 +352,11 @@ const saveProcessVar = () => {
     processVar: JSON.stringify(arr),
   }).then(() => {
     MessagePlugin.success('保存成功');
+    radioEditStatus.value = false;
     processVar.value.forEach((item) => {
       item.writable = false;
     });
+    rejectClose.value = false;
   });
 };
 watch(visible, (val) => {
@@ -380,4 +390,20 @@ const confirm = () => {
   emit('confirm');
   visible.value = false;
 };
+const rejectClose = ref(false);
+const drawerOnClose = () => {
+  if (radioEditStatus.value) {
+    rejectClose.value = false;
+
+    MessagePlugin.warning(
+      '请先保存属性【部署方式】【阅卷方式】【扫描场地网络】'
+    );
+    setTimeout(() => {
+      rejectClose.value = true;
+    }, 0);
+    return false;
+  } else {
+    visible.value = false;
+  }
+};
 </script>