| <template> | 
|   <GlobalWindow | 
|     :title="title" | 
|     :visible.sync="visible" | 
|     :confirm-working="isWorking" | 
|     @confirm="confirm" | 
|   > | 
|     <el-form :model="form" ref="form" label-suffix=":" :rules="rules"> | 
|       <el-form-item label="工序编码" prop="code"> | 
|         <el-input v-model="form.code" :disabled="form.id" placeholder="可填写,忽略将自动生成" max="30" v-trim/> | 
|       </el-form-item> | 
|       <el-form-item label="工序名称" prop="name"> | 
|         <el-input v-model="form.name" placeholder="请输入工序名称" max="10" v-trim/> | 
|       </el-form-item> | 
|       <el-form-item label="工序类型" prop="type"> | 
|         <el-select v-model="form.type" filterable clearable @change="selectType"> | 
|           <el-option | 
|             v-for="item in types" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="所属工厂" prop="orgId"> | 
|         <el-select v-model="form.orgId" placeholder="请选择" @visible-change="visibleChange" :loading="loading" filterable clearable> | 
|           <el-option | 
|             v-for="item in factoreis" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="负责人" prop="userId"> | 
|         <el-select v-model="form.userId" @visible-change="visibleChange1" :loading="loading" filterable clearable placeholder="请选择"> | 
|           <el-option | 
|             v-for="(item, index) in user" | 
|             :key="index" | 
|             :label="item.name + ' ' + item.phone" | 
|             :value="item.userId" | 
|           > | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <!-- <el-form-item label="待生产库" prop="pickingWarehouseId"> | 
|         <el-select v-model="form.pickingWarehouseId" filterable clearable placeholder="请选择"> | 
|           <el-option | 
|             v-for="item in warehouse" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="已完工库" prop="produceWarehouseId"> | 
|         <el-select v-model="form.produceWarehouseId" filterable clearable placeholder="请选择"> | 
|           <el-option | 
|             v-for="item in warehouse" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="不良库" prop="badWarehouseId"> | 
|         <el-select v-model="form.badWarehouseId" filterable clearable placeholder="请选择"> | 
|           <el-option | 
|             v-for="item in warehouse" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="报废库" prop="tobescrappedWarehouseId"> | 
|         <el-select v-model="form.tobescrappedWarehouseId" filterable clearable placeholder="请选择"> | 
|           <el-option | 
|             v-for="item in warehouse" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> --> | 
|       <!-- <el-form-item label="报工计算不良品:" prop="iscalculate"> | 
|         <el-select v-model="form.iscalculate" placeholder="请选择"> | 
|           <el-option | 
|             v-for="item in iscalculates" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> --> | 
|       <el-form-item label="设备收集层次" prop="level"> | 
|         <el-select v-model="form.level" placeholder="请选择"> | 
|           <el-option | 
|             v-for="item in level" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="加工顺序" prop="sortnum"> | 
|         <el-input v-model="form.sortnum" placeholder="请输入加工顺序" v-trim/> | 
|       </el-form-item> | 
|       <el-form-item label="是否检验" prop="needcheck"> | 
|         <el-switch v-model="form.needcheck" :inactive-value="1" :active-value="0"> | 
|         </el-switch> | 
|       </el-form-item> | 
|     </el-form> | 
|   </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
| import BaseOpera from '@/components/base/BaseOpera' | 
| import GlobalWindow from '@/components/common/GlobalWindow' | 
| import { getDepartmentListByConditon } from '@/api/ext/departmentExt' | 
| import { companyUserExtAllUser } from '@/api/ext/companyUserExt' | 
| import { queryWarehouseAllData } from '@/api/ext/warehouseExt' | 
| import { validateSpecialKey } from '@/assets/js/validate' | 
| export default { | 
|   name: 'OperaProceduresExtWindow', | 
|   extends: BaseOpera, | 
|   components: { GlobalWindow }, | 
|   data () { | 
|     return { | 
|       user: [ | 
|       ], | 
|       types: [ | 
|         // 0自有 1委外 | 
|         { name: '自有', id: 0 }, | 
|         { name: '委外', id: 1 } | 
|       ], | 
|       level: [ | 
|         //  0设备 1组 | 
|         { name: '设备', id: 0 }, | 
|         { name: '设备组', id: 1 } | 
|       ], | 
|       factoreis: [], | 
|       warehouse: [], | 
|       loading: false, | 
|       // 表单数据 | 
|       form: { | 
|         id: null, | 
|         code: '', | 
|         name: '', | 
|         type: '', | 
|         orgId: '', | 
|         userId: '', | 
|         // pickingWarehouseId: '', | 
|         // produceWarehouseId: '', | 
|         // badWarehouseId: '', | 
|         // tobescrappedWarehouseId: '', | 
|         iscalculate: 1, | 
|         level: 0, | 
|         needcheck: 1, | 
|         sortnum: '' | 
|       }, | 
|       iscalculates: [ | 
|         { name: '是', id: 0 }, | 
|         { name: '否', id: 1 } | 
|       ], | 
|       // 验证规则 | 
|       rules: { | 
|         // code: [ | 
|         //   { required: true, message: '请输入工序编码', trigger: 'blur' }, | 
|         //   { max: 30, message: '输入字数不超过20', trigger: 'change' }, | 
|         //   { validator: validateSpecialKey, trigger: 'blur' } | 
|         // ], | 
|         name: [ | 
|           { max: 10, message: '输入字数不超过10', trigger: 'change' }, | 
|           { required: true, message: '请输入工序名称', trigger: 'blur' } | 
|         ], | 
|         type: [ | 
|           { required: true, message: '请选择工序类型', trigger: 'change' } | 
|         ], | 
|         orgId: [ | 
|           { required: true, message: '请选择所属工厂', trigger: 'change' } | 
|         ], | 
|         userId: [ | 
|           { required: true, message: '请选择负责人', trigger: 'change' } | 
|         ], | 
|         // pickingWarehouseId: [ | 
|         //   { required: true, message: '请选择待生产仓', trigger: 'change' } | 
|         // ], | 
|         // produceWarehouseId: [ | 
|         //   { required: true, message: '请选择生产合格仓', trigger: 'change' } | 
|         // ], | 
|         // badWarehouseId: [ | 
|         //   { required: true, message: '请选择生产不良仓', trigger: 'change' } | 
|         // ], | 
|         // tobescrappedWarehouseId: [ | 
|         //   { required: true, message: '请选择待报废仓', trigger: 'change' } | 
|         // ], | 
|         // iscalculate: [ | 
|         //   { required: true, message: '请选择报工是否计算不良品', trigger: 'change' } | 
|         // ], | 
|         sortnum: [ | 
|           { pattern: /^[0-9]+$/, message: '只可以输入数字', trigger: 'change' } | 
|         ], | 
|         level: [ | 
|           { required: true, message: '请选择收集设备层级', trigger: 'change' } | 
|         ] | 
|       } | 
|     } | 
|   }, | 
|   created () { | 
|     this.config({ | 
|       api: '/ext/proceduresExt', | 
|       'field.id': 'id' | 
|     }) | 
|     queryWarehouseAllData({ useLocation: 1, status: 1, rootDepartId: this.$store.state.userInfo.curComDepartment.id }) | 
|       .then(res => { | 
|         this.warehouse = res | 
|       }) | 
|       .catch(err => { | 
|         console.log(err) | 
|       }) | 
|   }, | 
|   methods: { | 
|     visibleChange1(e) { | 
|       if (e) { | 
|         this.loading = true | 
|         companyUserExtAllUser({ departmentId: this.$store.state.userInfo.curComDepartment.id }) | 
|           .then(res => { | 
|             this.user = res | 
|             this.loading = false | 
|           }) | 
|           .catch(err => { | 
|             console.log(err) | 
|             this.loading = false | 
|           }) | 
|       } | 
|     }, | 
|     visibleChange(e) { | 
|       if (e) { | 
|         this.loading = true | 
|         getDepartmentListByConditon({ | 
|           type: 1 | 
|         }) | 
|         .then(res => { | 
|           // console.log(res) | 
|           this.factoreis = res | 
|           this.loading = false | 
|           // this.form.orgId = res[0].id | 
|         }) | 
|         .catch(err => { | 
|           console.log(err) | 
|           this.loading = false | 
|         }) | 
|       } | 
|     }, | 
|     open (title, target) { | 
|       this.title = title | 
|       this.visibleChange(true) | 
|       this.visibleChange1(true) | 
|       this.visible = true | 
|       // 新建 | 
|       if (target == null) { | 
|         this.$nextTick(() => { | 
|           this.$refs.form.resetFields() | 
|           this.form[this.configData['field.id']] = null | 
|         }) | 
|         return | 
|       } | 
|       // 编辑 | 
|       this.$nextTick(() => { | 
|         for (const key in this.form) { | 
|           this.form[key] = target[key] | 
|         } | 
|       }) | 
|     }, | 
|     selectType (v) { | 
|       // this.getUser() | 
|     }, | 
|     selectFactory () { | 
|       this.getUser() | 
|     }, | 
|     getUser () { | 
|       this.user = [] | 
|       this.form.userId = '' | 
|       if (this.form.type === 0) { | 
|         if (!this.form.orgId) { | 
|           return | 
|         } | 
|       } | 
|       const v = this.form.type === 0 ? this.form.orgId : '' | 
|       companyUserExtAllUser({ departmentId: v }) | 
|         .then(res => { | 
|           this.user = res | 
|         }) | 
|         .catch(err => { | 
|           console.log(err) | 
|         }) | 
|     } | 
|   } | 
| } | 
| </script> |