damon227 3 vuotta sitten
vanhempi
commit
d04e8ae527

+ 13 - 2
src/components/work-flow/home.vue

@@ -218,12 +218,23 @@ export default {
     // 保存流程图
     saveFlow () {
        // 去除流程图背景图片logImg和背景颜色字段log_bg_color
-      this.data.nodeList = this.data.nodeList.map(item => {
+      // let data = JSON.parse(JSON.stringify(this.data))
+      // data.nodeList = data.nodeList.map(item => {
+      //   delete item.logImg
+      //   delete item.log_bg_color
+      //   return item
+      // })
+      // debugger
+      // this.$emit('saveWorkFlow', data)
+    },
+    getFlowData(){
+       let data = JSON.parse(JSON.stringify(this.data))
+      data.nodeList = data.nodeList.map(item => {
         delete item.logImg
         delete item.log_bg_color
         return item
       })
-      this.$emit('saveWorkFlow', this.data)
+      return data
     }
   }
 }

+ 52 - 1
src/components/work-flow/node-edit.vue

@@ -33,6 +33,18 @@
           :disabled="disabled || selectOperator"
         ></el-input>
       </el-form-item>
+      <el-form-item label="工序要求" prop="require"  v-if="node.type !== 'end'">
+        <el-input
+          v-model="form.require"
+          :disabled="disabled || selectOperator"
+        ></el-input>
+      </el-form-item>
+       <el-form-item label="工序说明" prop="explain"  v-if="node.type !== 'end'">
+        <el-input
+          v-model="form.explain"
+          :disabled="disabled || selectOperator"
+        ></el-input>
+      </el-form-item>
       <el-form-item label="操作人" v-if="form.operatorName">
         <el-input
           :disabled="disabled && selectOperator"
@@ -59,6 +71,15 @@
           ></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item v-if="node.type !== 'end'">
+         <upload-component
+            :display="disabled || selectOperator"
+            :title="'附件'"
+            :accept="'*'"
+            :file-obj-list="fileList"
+            @uploadSuccess="uploadSuccess"
+          />
+      </el-form-item>
     </el-form>
   </div>
 </template>
@@ -66,8 +87,10 @@
 <script>
 import { getWorkType } from '@/api/crafts'
 import { workTypeMasterList } from '@/api/worktype'
+import UploadComponent from '@/views/modules/common/upload-component'
 export default {
   name: 'nodeEdit',
+  components: { UploadComponent },
   props: {
     data: {
       type: Object,
@@ -95,6 +118,7 @@ export default {
         workTypeId: '',
         operatorId: []
       },
+      fileList: [],
       rules: {
         nodeName: [
           { required: true, message: '请输入节点名称', trigger: 'blur' }
@@ -135,6 +159,17 @@ export default {
       this.form.operatorId = this.node.operatorId.split(',')
     }
 
+     // 附件
+    if (this.node.attachList) {
+      this.node.attachList.forEach(item => {
+        this.fileList.push({
+          name: item.fileName,
+          url: item.url,
+          id: item.url
+        })
+      })
+    }
+
     this.getOperatorList()
   },
   methods: {
@@ -159,6 +194,9 @@ export default {
         })
       }
     },
+    uploadSuccess (fileList) {
+      this.fileList = fileList
+    },
     // 校验表单
     validateFormData () {
       return new Promise((resolve, reject) => {
@@ -174,7 +212,7 @@ export default {
     },
     // 获取表单数据
     formData () {
-      const form = { ...this.form, operatorName: '' }
+      const form = { ...this.form, operatorName: ''}
       if (this.form.operatorId != null) {
         form.operatorId = this.form.operatorId.toString()
         this.form.operatorId.forEach(id => {
@@ -184,6 +222,19 @@ export default {
           }
         })
       }
+
+       // 填充附件
+          let fList = this.fileList
+          if (fList.length > 0) {
+            form.attachList = []
+            for (let i = 0; i < fList.length; i++) {
+              form.attachList.push({
+                fileName: fList[i].name,
+                url: fList[i].url
+              })
+            }
+          }
+
       return form
     }
   }

+ 8 - 7
src/views/modules/tech/crafts-management.vue

@@ -29,7 +29,7 @@
       </el-form-item>
       <el-form-item>
         <el-button @click="queryData()">查询</el-button>
-        <el-button v-if="isAuth('pro:technology:save')" type="primary" @click="addOrUpdateHandle(0, false)">新建工艺</el-button>
+        <el-button v-if="isAuth('pro:technology:save')" type="primary" @click="addOrUpdateHandle(0)">新建工艺</el-button>
       </el-form-item>
     </el-form>
     <el-table
@@ -118,11 +118,12 @@
         header-align="center"
         fixed="right"
         align="center"
-        width="100"
+        width="140"
         label="操作">
         <template slot-scope="scope">
-          <el-button v-if="isAuth('pro:technology:update') && scope.row.techState == -1" type="text" size="small" @click="addOrUpdateHandle1(scope.row.techId, 0)">启用</el-button>
-          <el-button v-if="isAuth('pro:technology:update') && scope.row.techState == 0" type="text" size="small" @click="addOrUpdateHandle1(scope.row.techId, -1)">停用</el-button>
+          <el-button v-if="isAuth('pro:technology:update') && scope.row.techState == -1" type="text" size="small" @click="addOrUpdateHandle(scope.row.techId)">编辑</el-button>
+          <el-button v-if="isAuth('pro:technology:update') && scope.row.techState == -1" type="text" size="small" @click="changeStateHandle(scope.row.techId, 0)">启用</el-button>
+          <el-button v-if="isAuth('pro:technology:update') && scope.row.techState == 0" type="text" size="small" @click="changeStateHandle(scope.row.techId, -1)">停用</el-button>
           <el-button v-if="isAuth('pro:technology:info')" type="text" size="small" @click="detailHandle(scope.row.techId, scope.row.productName)">查看</el-button>
         </template>
       </el-table-column>
@@ -224,13 +225,13 @@
         this.dataListSelections = val
       },
       // 新增 / 修改
-      addOrUpdateHandle (id, display) {
+      addOrUpdateHandle (id) {
         this.addOrUpdateVisible = true
         this.$nextTick(() => {
-          this.$refs.addOrUpdate.init(id, display)
+          this.$refs.addOrUpdate.init(id, false)
         })
       },
-      addOrUpdateHandle1 (id, type) {
+      changeStateHandle (id, type) {
         update({ techId: id, techState: type }).then(({data}) => {
           if (data && data.code === '200') {
             this.getTechnology()

+ 8 - 2
src/views/modules/tech/ctafts-add-or-detail.vue

@@ -185,6 +185,10 @@ export default {
       await getInfo(id).then(async ({ data }) => {
         if (data && data.code === '200') {
           this.dataForm = data.data
+           this.workFlowData = {
+            nodeList: data.data.nodeList,
+            lineList: data.data.lineList
+          }
         }
       })
     },
@@ -213,7 +217,8 @@ export default {
     },
     // 表单提交
     dataFormSubmit () {
-      if (!this.workFlowData) {
+      let flowData = this.$refs.workFlow.getFlowData()
+      if (!flowData) {
         this.$message.error('请先完成流程图!')
         return
       }
@@ -237,7 +242,7 @@ export default {
             method: 'post',
             data: this.$http.adornData({
               ...this.dataForm,
-              ...this.workFlowData
+              ...flowData
             })
           }).then(({ data }) => {
             if (data && data.code === '200') {
@@ -263,6 +268,7 @@ export default {
     },
     // 保存流程图
     saveWorkFlow (workFlowData) {
+      debugger
       this.workFlowData = workFlowData
     }
   }