From 68edca7409736705db50504b003cba66bb4ccd6e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 08 八月 2023 11:08:50 +0800
Subject: [PATCH] 1.新增用户组管理

---
 src/views/makeModel/InventoryList.vue          |  152 +++---
 src/views/produceManager/produceStartOrder.vue |  236 ++++++----
 src/api/basicSettings.js                       |   12 
 src/layout/components/Navbar.vue               |    6 
 src/views/basicSettings/userList.vue           |    2 
 src/views/produceManager/produceOrder.vue      |   36 +
 src/views/qualityManager/qualityPlaning.vue    |    4 
 src/views/basicSettings/groupSetting.vue       |  659 +++++++++++++++++++++++++++++
 src/views/produceManager/workOrder.vue         |  151 +++---
 src/router/index.js                            |    6 
 10 files changed, 1,006 insertions(+), 258 deletions(-)

diff --git a/src/api/basicSettings.js b/src/api/basicSettings.js
index 32fdff9..72d7034 100644
--- a/src/api/basicSettings.js
+++ b/src/api/basicSettings.js
@@ -215,13 +215,21 @@
   })
 }
 // 鐢ㄦ埛缁勬柊澧�
-export function UserGroupAdd(data) {
+export function UserGroupAdd(data, type) {
   return request({
-    url: 'BasicSetting/UserGroupAdd',
+    url: 'BasicSetting/UserGroupAdd?type=' + type,
     method: 'post',
     data
   })
 }
+// 鐢ㄦ埛缁勬煡鐪嬪叧鑱斾汉鍛�
+export function GroupUserProject(data) {
+  return request({
+    url: 'BasicSetting/GroupUserProject',
+    method: 'get',
+    params: data
+  })
+}
 // 鐢ㄦ埛缁勫垹闄�
 export function UserGroupDelete(data) {
   return request({
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 9c11199..04cd585 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -239,7 +239,7 @@
     this.stu_torgname = getCookie('stu_torgname') === '' ? '绯荤粺绠$悊鍛�' : getCookie('stu_torgname')
   },
   mounted() {
-    this.getHubConnectionBuilder()
+    // this.getHubConnectionBuilder()
   },
   computed: {
     ...mapGetters([
@@ -332,8 +332,8 @@
       this.$store.dispatch('app/toggleSideBar')
     },
     async logout() {
-      await this.signalr.stop()
-      this.signalr.off('SendCustomUserMessage')
+      // await this.signalr.stop()
+      // this.signalr.off('SendCustomUserMessage')
       await this.$store.dispatch('user/logout')
       this.$message.success('閫�鍑烘垚鍔燂紒')
       this.$router.push(`/login`)
diff --git a/src/router/index.js b/src/router/index.js
index 60e4598..ed32132 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -777,6 +777,12 @@
         code: '1014',
         component: () => import('@/views/basicSettings/installationLampSetting'),
         meta: { code: '1014', title: '瀹夌伅璁剧疆', icon: '', keepAlive: true }
+      }, {
+        path: 'groupSetting',
+        name: 'groupSettingCancel',
+        code: '1015',
+        component: () => import('@/views/basicSettings/groupSetting'),
+        meta: { code: '1015', title: '鐝粍璁剧疆', icon: '', keepAlive: true }
       }
     ]
   },
diff --git a/src/views/basicSettings/groupSetting.vue b/src/views/basicSettings/groupSetting.vue
new file mode 100644
index 0000000..11c0dcd
--- /dev/null
+++ b/src/views/basicSettings/groupSetting.vue
@@ -0,0 +1,659 @@
+<template>
+  <div>
+    <div class="body" :style="{height:mainHeight+'px'}">
+      <div class="bodyTopButtonGroup" style="justify-content: space-between">
+        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <!--        <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
+      </div>
+
+      <div class="bodyTopFormGroup">
+        <el-form
+          ref="form"
+          :model="form"
+          label-width="100px"
+          inline
+          style="display: flex;"
+        >
+          <div class="elForm">
+            <el-form-item label="鐝粍缂栫爜" style=" display: flex;">
+              <el-input v-model="form.groupcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐝粍鍚嶇О" style=" display: flex;">
+              <el-input v-model="form.groupname" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <!--            <el-form-item label="鎵�灞炵粍缁�" style=" display: flex;">-->
+            <!--              <el-input v-model="form.stu_torgcode" placeholder="璇疯緭鍏�" style="width: 200px" />-->
+            <!--            </el-form-item>-->
+            <!--            <el-form-item label="缁勭粐绫诲瀷" style=" display: flex;">-->
+            <!--              <el-select v-model="form.description" style="width: 200px" placeholder="璇烽�夋嫨">-->
+            <!--                <el-option-->
+            <!--                  v-for="item in OrgTypeArr"-->
+            <!--                  :key="item.code"-->
+            <!--                  :label="item.name"-->
+            <!--                  :value="item.code"-->
+            <!--                />-->
+            <!--              </el-select>-->
+            <!--            </el-form-item>-->
+
+          </div>
+          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+          </div>
+        </el-form>
+        <div
+          class="bodyTopFormExpand"
+        >
+          <!--          <svg-icon-->
+          <!--            v-show="mouseHoverType==='mouseout'"-->
+          <!--            style="cursor: pointer"-->
+          <!--            :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'"-->
+          <!--            @mouseenter="mouseHoverType=$event.type"-->
+          <!--          />-->
+          <!--          <svg-icon-->
+          <!--            v-show="mouseHoverType==='mouseenter'"-->
+          <!--            style="cursor: pointer"-->
+          <!--            :icon-class="!isExpandForm?'doubleDown':'doubleUp'"-->
+          <!--            @click="isExpandForm=!isExpandForm"-->
+          <!--            @mouseout="mouseHoverType=$event.type"-->
+          <!--          />-->
+        </div>
+      </div>
+
+      <div class="elTableDiv">
+        <el-table
+          ref="tableDataRef"
+          class="tableFixed"
+          :data="tableData"
+          :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
+          border
+          :row-class-name="tableRowClassName"
+          :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+          @sort-change="sortChange"
+        >
+          <el-table-column
+            prop="RowNum"
+            width="50"
+            fixed
+            label="搴忓彿"
+          />
+          <!--          <el-table-column-->
+          <!--            prop="torg_code"-->
+          <!--            label="缁勭粐缂栫爜"-->
+          <!--            sortable="custom"-->
+          <!--          />-->
+
+          <el-table-column
+            prop="group_code"
+            label="鐝粍缂栫爜"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="group_name"
+            label="鐝粍鍚嶇О"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="org_name"
+            label="鎵�灞炵粍缁�"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="description"
+            label="鎻忚堪"
+            sortable="custom"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.description">{{ row.description }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鎿嶄綔"
+            width="120"
+            fixed="right"
+          >
+            <template slot-scope="{row}">
+              <div class="operationClass">
+                <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top">
+                  <i
+                    class="el-icon-view"
+                    :style="{color:$store.state.settings.theme}"
+                    style="margin-right:15px;cursor: pointer;"
+                    @click="view(row)"
+                  />
+                </el-tooltip>
+                <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
+                  <i class="el-icon-edit-outline" @click="edit('edit',row)" />
+                </el-tooltip>
+                <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
+                  <i class="el-icon-delete" @click="del(row)" />
+                </el-tooltip>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <!--鍒嗛〉-->
+      <pagination
+        :total="total"
+        :page.sync="form.page"
+        :limit.sync="form.rows"
+        align="right"
+        layout="total,prev, pager, next,sizes"
+        popper-class="select_bottom"
+        @pagination="getUserGroupSearch"
+      />
+    </div>
+
+    <el-dialog
+      v-el-drag-dialog
+      :title="operation==='add'?'鏂板':'缂栬緫'"
+      :visible.sync="dialogVisible"
+      width="800px"
+      :close-on-click-modal="false"
+      top="15vh"
+      @closed="handleClose"
+      @close="handleClose"
+    >
+      <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
+        <el-form-item label="鐝粍缂栫爜" prop="groupcode">
+          <el-input v-model="dialogForm.groupcode" :disabled="operation!=='add'" style="width: 200px" />
+        </el-form-item>
+        <el-form-item label="鐝粍鍚嶇О" prop="groupname">
+          <el-input v-model="dialogForm.groupname" style="width: 200px" />
+        </el-form-item>
+        <!--        <el-form-item prop="description" label="鎵�灞炵粍缁�">-->
+        <el-form-item required label="鎵�灞炵粍缁�">
+          <el-cascader
+            ref="dialogCascader"
+            key="cascaderKey"
+            v-model="dialogForm.stu_torgcode"
+            filterable
+            popper-class="elCascader"
+            :options="StuOrgArr"
+            :props="defaultProps"
+            style="width: 200px;"
+          />
+          <!--          <el-select-->
+          <!--            v-model="dialogForm.description"-->
+          <!--            style="width: 200px"-->
+          <!--            placeholder="璇烽�夋嫨"-->
+          <!--            :popper-append-to-body="false"-->
+          <!--          >-->
+          <!--            <el-option-->
+          <!--              v-for="item in SupUnitArr"-->
+          <!--              :key="item.code"-->
+          <!--              :label="item.name"-->
+          <!--              :value="item.code"-->
+          <!--            />-->
+          <!--          </el-select>-->
+        </el-form-item>
+
+        <el-form-item label="鐝粍浜哄憳">
+          <el-select
+            v-model="dialogForm.usercode"
+            :popper-append-to-body="false"
+            filterable
+            multiple
+            collapse-tags
+            style="width: 200px"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in userArr"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
+            />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="鎻忚堪">
+          <el-input v-model="dialogForm.description" type="textarea" style="width: 200px" />
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <div class="footerButton">
+          <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+        </div>
+      </span>
+    </el-dialog>
+
+    <el-dialog
+      v-el-drag-dialog
+      title="鏌ョ湅"
+      :visible.sync="viewDialogVisible"
+      width="800px"
+      :close-on-click-modal="false"
+      top="15vh"
+      @closed="handleViewClose"
+      @close="handleViewClose"
+    >
+
+      <div style="height: 200px;width: 100%;background-color: aliceblue;padding:20px">
+        <el-tag
+          v-for="tag in viewUserArr"
+          :key="tag.usercode"
+          type="success"
+          style="margin-right: 15px;min-width: 80px;text-align: center"
+          :style="{color:$store.state.settings.theme}"
+        >
+          {{ tag.username }}
+        </el-tag>
+      </div>
+
+    </el-dialog>
+
+    <!--瀵煎叆缁勪欢-->
+    <import-picker ref="importPickerFunc" class="importPickerClass" :shows.sync="shows" :title="title_value" :colos="colos" :code="code" />
+
+  </div>
+</template>
+
+<script>
+import Pagination from '@/components/Pagination'
+import {
+  AddUpdateOrganization,
+  DeleteOrganization, GroupUserProject,
+  OrganizationSearch,
+  PrentOrganization, UserGroupAdd, UserGroupDelete,
+  UserGroupSearch, UserOrganization
+} from '@/api/basicSettings'
+import { getCookie } from '@/utils/auth'
+import ImportPicker from '@/components/ImportPicker'
+import clearAllChildren, { validateCode } from '@/utils/global'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
+import { MesOrderSelectUser } from '@/api/produceManager'
+
+export default {
+  name: 'Zzjg',
+  components: {
+    Pagination, ImportPicker
+  },
+  directives: { elDragDialog, waves },
+  data() {
+    return {
+      mouseHoverType: 'mouseout',
+      isExpandForm: false,
+      mainHeight: 0,
+      tableHeight: 0,
+      form: {
+        groupcode: '', //
+        groupname: '', //
+        stu_torgcode: getCookie('stu_torgcode'), // 鎵�灞炵粍缁�
+        description: getCookie('description'), // 缁勭粐绫诲瀷
+
+        prop: 'group_code', // 鎺掑簭瀛楁
+        order: 'desc', // 鎺掑簭瀛楁
+        page: 1, // 绗嚑椤�
+        rows: 20 // 姣忛〉澶氬皯鏉�
+      },
+      OrgTypeArr: [
+        { name: '閮ㄩ棬', code: 'D' },
+        { name: '杞﹂棿', code: 'W' }
+      ],
+      defaultProps: {
+        checkStrictly: true,
+        value: 'code',
+        label: 'name',
+        children: 'children',
+        emitPath: false
+      },
+      StuOrgArr: [], // 鎵�灞炵粍缁囨暟缁�
+      total: 10,
+      tableData: [],
+
+      dialogVisible: false,
+      dialogForm: {
+        stu_torgcode: '',
+        groupcode: '',
+        groupname: '',
+        usercode: [],
+        description: ''// 鎻忚堪
+      },
+      operation: '',
+      dialogFormRules: {
+        // description: [
+        //   { required: true, message: '璇烽�夋嫨鎵�灞炵粍缁�', trigger: ['blur', 'change'] }
+        // ],
+        groupcode: [
+          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
+        ],
+        groupname: [
+          { required: true, message: '璇疯緭鍏ョ彮缁勫悕绉�', trigger: ['blur', 'change'] }
+        ]
+
+      },
+      userArr: [],
+
+      viewDialogVisible: false,
+      viewUserArr: [],
+
+      title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅',
+      code: '4',
+      shows: false
+
+    }
+  },
+  watch: {
+    shows() {
+      if (!this.shows) {
+        this.getUserGroupSearch()
+      }
+    }
+  },
+  created() {
+    this.getUserGroupSearch()
+  },
+  mounted() {
+    window.addEventListener('resize', this.getHeight)
+    this.getHeight()
+
+    this.getUserOrganization()
+
+    this.getMesOrderSelectUser()
+  },
+  methods: {
+    async getMesOrderSelectUser() {
+      const { data: res } = await MesOrderSelectUser({ usercode: '' })
+      this.userArr = res
+    },
+
+    async getUserOrganization() {
+      const { data: res } = await UserOrganization()
+      this.StuOrgArr = clearAllChildren(res)
+    },
+
+    async getUserGroupSearch() {
+      const res = await UserGroupSearch(this.form)
+      this.tableData = res.data
+      this.total = res.count
+    },
+    // 鎺掑簭鏀瑰彉鏃�
+    sortChange({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.form.order = order
+      this.form.prop = prop
+      this.getUserGroupSearch()
+    },
+    // 鏌ヨ
+    search() {
+      this.getUserGroupSearch()
+    },
+    // 瀵煎叆鎸夐挳
+    upload() {
+      this.shows = true
+      this.$refs.importPickerFunc.newDataFunc()
+    },
+    colos() {
+      this.shows = false
+    },
+    // 閲嶇疆
+    reset() {
+      this.form.groupcode = ''
+      this.form.groupname = ''
+      // this.form.stu_torgcode = ''
+      // this.form.description = ''
+      this.getUserGroupSearch()
+    },
+    // 棰勮
+    async  view(row) {
+      const res = await GroupUserProject({ groupcode: row.group_code })
+      if (res.code === '200') {
+        this.viewUserArr = res.data
+        this.viewDialogVisible = true
+      }
+    },
+
+    handleViewClose() {
+      this.viewUserArr = []
+    },
+
+    // 鏂板鎸夐挳
+    add(operation) {
+      this.operation = operation
+      this.dialogVisible = true
+    },
+    // 淇敼鎸夐挳
+    async  edit(operation, row) {
+      this.operation = operation
+      this.dialogVisible = true
+
+      this.$nextTick(() => {
+        this.dialogForm.stu_torgcode = row.torg_code
+        // this.dialogForm.groupcode = row.group_code
+
+        this.dialogForm.groupcode = row.group_code
+        this.dialogForm.groupname = row.group_name
+        this.dialogForm.description = row.description
+      })
+      const res = await GroupUserProject({ groupcode: row.group_code })
+      this.dialogForm.usercode = res.data.map(i => i.usercode)
+    },
+    // 鍒犻櫎鎸夐挳
+    async del(row) {
+      this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        UserGroupDelete({ UserGrupCode: row.group_code }).then(res => {
+          if (res.code === '200') {
+            this.$message.success('鍒犻櫎鎴愬姛!')
+            if (this.form.page > 1 && this.tableData.length === 1) {
+              this.form.page--
+            }
+            this.getUserGroupSearch()
+          }
+        })
+      }).catch(() => {
+        this.$message.info('宸插彇娑堝垹闄�')
+      })
+    },
+    // 瀵硅瘽妗嗗叧闂簨浠�
+    handleClose() {
+      this.dialogForm.usercode = []
+      this.dialogForm.stu_torgcode = ''
+      this.dialogForm.groupcode = ''
+      this.dialogForm.groupname = ''
+      this.dialogForm.description = ''
+      this.$refs.dialogForm.clearValidate()
+    },
+    // 瀵硅瘽妗嗗彇娑�
+    dialogVisibleCancel() {
+      this.dialogVisible = false
+    },
+    // 瀵硅瘽妗嗙‘璁�
+    dialogVisibleConfirm() {
+      // [
+      //   {
+      //     "storg_code": "string",
+      //     "code": "string",
+      //     "name": "string",
+      //     "flag": "string",
+      //     "children": [
+      //       {
+      //         "usercode": "string",
+      //         "username": "string"
+      //       }
+      //     ]
+      //   }
+      // ]
+
+      this.$refs.dialogForm.validate(valid => {
+        if (valid) {
+          const children = []
+
+          this.dialogForm.usercode.forEach(i => {
+            const t = this.userArr.find(j => j.usercode === i)
+            console.log(t, 9)
+            if (t) {
+              children.push({
+                username: t.username,
+                usercode: i
+              })
+            }
+          })
+
+          const data = [{
+            storg_code: this.dialogForm.stu_torgcode,
+            code: this.dialogForm.groupcode,
+            name: this.dialogForm.groupname,
+            flag: this.dialogForm.description,
+            children
+          }]
+
+          UserGroupAdd(data, this.operation === 'add' ? 'Add' : 'Update').then(res => {
+            if (res.code === '200') {
+              this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
+              this.dialogVisible = false
+              this.getUserGroupSearch()
+            } else {
+              this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
+            }
+          })
+        }
+      })
+    },
+    // 鑾峰彇椤甸潰楂樺害
+    getHeight() {
+      this.$nextTick(() => {
+        this.mainHeight = window.innerHeight - 85
+        this.tableHeight = this.mainHeight - 235
+        this.$refs.tableDataRef.doLayout()
+      })
+    },
+    tableRowClassName({ row, rowIndex }) {
+      return 'custom-row'
+    }
+  }
+}
+</script>
+
+<!--鍏叡椤甸潰鏍峰紡-->
+<style lang="scss" scoped>
+$main_color: #42b983;
+::v-deep .el-button--text{
+  font-size: 14px ;
+  cursor: pointer ;
+}
+.el-icon-share ,.el-icon-delete,.el-icon-edit-outline{
+  color: $main_color;
+  cursor: pointer;
+}
+.el-icon-edit-outline{
+  margin-right: 15px;
+}
+
+::v-deep .el-button--primary, .el-button--default, .el-button--info {
+  height: 34px;
+  display: flex;
+  align-items: center;
+  padding: 0 15px;
+}
+
+::v-deep .el-button--primary {
+  //background-color: $main_color !important;
+}
+
+::v-deep .el-button--default {
+  background-color: #f8f8fa;
+  border: none;
+}
+
+::v-deep .el-input__inner {
+  height: 34px;
+  line-height: 34px;
+  //color: #a7a7a7;
+}
+
+::v-deep .el-dialog__body {
+  padding: 20px 100px !important;
+}
+
+::v-deep .dialogVisibleRoles .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
+::v-deep .importPickerClass .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
+::v-deep .el-dialog__footer {
+  display: flex;
+  justify-content: flex-end;
+}
+
+::v-deep .el-table .caret-wrapper {
+  transform: scale(0.8);
+}
+
+::v-deep .cell {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+::v-deep .el-table::before {
+  height: 0;
+}
+
+::v-deep .el-table__body-wrapper {
+  background-color: #f8f8fa;
+}
+
+::v-deep .el-table__body .el-table__row.hover-row td{
+  background-color: #eaecef ;
+}
+
+::v-deep .el-form--inline .el-form-item__label {
+  color: #a7a7a7;
+}
+
+.body ::v-deep .el-divider {
+  border: 1px solid #eee;
+  width: 99%;
+  margin: 10px auto;
+}
+
+.body ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+.userDialogVisible ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-select__caret{
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.tableFixed{
+  ::v-deep .el-table__fixed-right{
+    height: 100% !important;
+  }
+  ::v-deep .el-table__fixed{
+    height: 100% !important;
+  }
+}
+</style>
+<style>
+
+.el-table .custom-row {
+  background: #f8f8fa;
+}
+</style>
diff --git a/src/views/basicSettings/userList.vue b/src/views/basicSettings/userList.vue
index 2bd421d..2094b52 100644
--- a/src/views/basicSettings/userList.vue
+++ b/src/views/basicSettings/userList.vue
@@ -6,7 +6,7 @@
         <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
 
         <div style="display: flex">
-          <el-button v-waves icon="el-icon-menu" @click="workingTramClick">鐢熶骇鐝粍</el-button>
+          <!--          <el-button v-waves icon="el-icon-menu" @click="workingTramClick">鐢熶骇鐝粍</el-button>-->
           <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>
         </div>
       </div>
diff --git a/src/views/makeModel/InventoryList.vue b/src/views/makeModel/InventoryList.vue
index 6affcad..35f4bc1 100644
--- a/src/views/makeModel/InventoryList.vue
+++ b/src/views/makeModel/InventoryList.vue
@@ -336,85 +336,85 @@
         </el-form-item>
       </el-form>
 
-      <el-collapse>
-        <el-collapse-item title="涓�鑷存�� Consistency" name="1">
-          <template slot="title">
-            <div>
-              <i
-                class="el-icon-s-operation"
-                :style="{color:$store.state.settings.theme}"
-                style="margin: -20px 10px 20px 20px"
-              />楂樼骇璁剧疆锛�
-            </div>
-          </template>
-          <div
-            style="display: flex;flex-direction: column;height: 140px; align-content: center;justify-content: space-between"
-          >
-            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">
-              <div>
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  content=""
-                  placement="top"
-                >
-                  <div slot="content" style="width: 300px">
-                    鍚敤绠$悊鍚庡簱瀛樻暟閲忎細鎸夋爣绛惧垎寮�鏄剧ず锛岄渶瑕佸仛閲囪喘鍒拌揣鎵嶈兘鍏ュ簱锛屼笖鐢熶骇鍙戞枡闇�瑕佹壂鐮佹爣绛捐繘琛屽彂鏂欙紝涓嶅惎鐢ㄦ壒娆$鐞嗙殑涓嶉渶瑕侀噰璐埌璐э紝鍙互鐩存帴閫夋嫨鐗╂枡閲囪喘鍏ュ簱锛屼笖鍏ュ簱鍚庝細鍚堝苟鏄剧ず璇ョ墿鏂欑殑搴撳瓨锛岀敓浜у彂鏂欏垯鎸夊簱浣嶈繘琛屽嚭搴撱��
-                  </div>
-                  <i class="el-icon-question" :style="{color:$store.state.settings.theme}" />
-                </el-tooltip>
-              </div>
+      <!--      <el-collapse>-->
+      <!--        <el-collapse-item title="涓�鑷存�� Consistency" name="1">-->
+      <!--          <template slot="title">-->
+      <!--            <div>-->
+      <!--              <i-->
+      <!--                class="el-icon-s-operation"-->
+      <!--                :style="{color:$store.state.settings.theme}"-->
+      <!--                style="margin: -20px 10px 20px 20px"-->
+      <!--              />楂樼骇璁剧疆锛�-->
+      <!--            </div>-->
+      <!--          </template>-->
+      <!--          <div-->
+      <!--            style="display: flex;flex-direction: column;height: 140px; align-content: center;justify-content: space-between"-->
+      <!--          >-->
+      <!--            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">-->
+      <!--              <div>-->
+      <!--                <el-tooltip-->
+      <!--                  class="item"-->
+      <!--                  effect="dark"-->
+      <!--                  content=""-->
+      <!--                  placement="top"-->
+      <!--                >-->
+      <!--                  <div slot="content" style="width: 300px">-->
+      <!--                    鍚敤绠$悊鍚庡簱瀛樻暟閲忎細鎸夋爣绛惧垎寮�鏄剧ず锛岄渶瑕佸仛閲囪喘鍒拌揣鎵嶈兘鍏ュ簱锛屼笖鐢熶骇鍙戞枡闇�瑕佹壂鐮佹爣绛捐繘琛屽彂鏂欙紝涓嶅惎鐢ㄦ壒娆$鐞嗙殑涓嶉渶瑕侀噰璐埌璐э紝鍙互鐩存帴閫夋嫨鐗╂枡閲囪喘鍏ュ簱锛屼笖鍏ュ簱鍚庝細鍚堝苟鏄剧ず璇ョ墿鏂欑殑搴撳瓨锛岀敓浜у彂鏂欏垯鎸夊簱浣嶈繘琛屽嚭搴撱��-->
+      <!--                  </div>-->
+      <!--                  <i class="el-icon-question" :style="{color:$store.state.settings.theme}" />-->
+      <!--                </el-tooltip>-->
+      <!--              </div>-->
 
-              <div style="margin: 0 3px">鎵规绠$悊锛�</div>
-              <el-switch
-                v-model="isBatchNo"
-              />
-            </div>
-            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">
-              <div style="margin: 0 3px">鍏堣繘鍏堝嚭锛�</div>
-              <el-switch
-                v-model="isFifo"
-              />
-            </div>
-            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">
-              <div>
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  content=""
-                  placement="top"
-                >
-                  <div slot="content" style="width: 300px">寮�鍚悗璇ョ墿鏂欏繀椤诲仛鍏ュ巶妫�楠屾垨璐ㄩ噺鍒ゆ柇鍚堟牸鍚庢墠鑳藉仛鍏ュ巶鍙嶅垯璇ョ墿鏂欒川閲忕姸鎬佷负寰呮鐘舵�佹槸涓嶅厑璁稿叆鍘傜殑銆�</div>
-                  <i class="el-icon-question" :style="{color:$store.state.settings.theme}" />
-                </el-tooltip>
-              </div>
+      <!--              <div style="margin: 0 3px">鎵规绠$悊锛�</div>-->
+      <!--              <el-switch-->
+      <!--                v-model="isBatchNo"-->
+      <!--              />-->
+      <!--            </div>-->
+      <!--            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">-->
+      <!--              <div style="margin: 0 3px">鍏堣繘鍏堝嚭锛�</div>-->
+      <!--              <el-switch-->
+      <!--                v-model="isFifo"-->
+      <!--              />-->
+      <!--            </div>-->
+      <!--            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">-->
+      <!--              <div>-->
+      <!--                <el-tooltip-->
+      <!--                  class="item"-->
+      <!--                  effect="dark"-->
+      <!--                  content=""-->
+      <!--                  placement="top"-->
+      <!--                >-->
+      <!--                  <div slot="content" style="width: 300px">寮�鍚悗璇ョ墿鏂欏繀椤诲仛鍏ュ巶妫�楠屾垨璐ㄩ噺鍒ゆ柇鍚堟牸鍚庢墠鑳藉仛鍏ュ巶鍙嶅垯璇ョ墿鏂欒川閲忕姸鎬佷负寰呮鐘舵�佹槸涓嶅厑璁稿叆鍘傜殑銆�</div>-->
+      <!--                  <i class="el-icon-question" :style="{color:$store.state.settings.theme}" />-->
+      <!--                </el-tooltip>-->
+      <!--              </div>-->
 
-              <div style="margin: 0 3px">鍏ュ巶妫�楠岋細</div>
-              <el-switch
-                v-model="isInCheck"
-              />
-            </div>
-            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">
-              <div>
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  content=""
-                  placement="top"
-                >
-                  <div slot="content" style="width: 300px">寮�鍚悗璇ョ墿鏂欏繀椤诲仛鍑哄巶妫�楠屾垨璐ㄩ噺鍒ゆ柇鍚堟牸鍚庢墠鑳藉仛鍑哄巶锛屽弽鍒欒鐗╂枡璐ㄩ噺鐘舵�佷负寰呮鐘舵�佹槸涓嶅厑璁稿嚭鍘傜殑銆�</div>
-                  <i class="el-icon-question" :style="{color:$store.state.settings.theme}" />
-                </el-tooltip>
-              </div>
+      <!--              <div style="margin: 0 3px">鍏ュ巶妫�楠岋細</div>-->
+      <!--              <el-switch-->
+      <!--                v-model="isInCheck"-->
+      <!--              />-->
+      <!--            </div>-->
+      <!--            <div style="display: flex;width: 200px;align-content: center;justify-content: flex-end">-->
+      <!--              <div>-->
+      <!--                <el-tooltip-->
+      <!--                  class="item"-->
+      <!--                  effect="dark"-->
+      <!--                  content=""-->
+      <!--                  placement="top"-->
+      <!--                >-->
+      <!--                  <div slot="content" style="width: 300px">寮�鍚悗璇ョ墿鏂欏繀椤诲仛鍑哄巶妫�楠屾垨璐ㄩ噺鍒ゆ柇鍚堟牸鍚庢墠鑳藉仛鍑哄巶锛屽弽鍒欒鐗╂枡璐ㄩ噺鐘舵�佷负寰呮鐘舵�佹槸涓嶅厑璁稿嚭鍘傜殑銆�</div>-->
+      <!--                  <i class="el-icon-question" :style="{color:$store.state.settings.theme}" />-->
+      <!--                </el-tooltip>-->
+      <!--              </div>-->
 
-              <div style="margin: 0 3px">鍑哄巶妫�楠岋細</div>
-              <el-switch
-                v-model="isOutCheck"
-              />
-            </div>
-          </div>
-        </el-collapse-item>
-      </el-collapse>
+      <!--              <div style="margin: 0 3px">鍑哄巶妫�楠岋細</div>-->
+      <!--              <el-switch-->
+      <!--                v-model="isOutCheck"-->
+      <!--              />-->
+      <!--            </div>-->
+      <!--          </div>-->
+      <!--        </el-collapse-item>-->
+      <!--      </el-collapse>-->
       <!--      </div>-->
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
diff --git a/src/views/produceManager/produceOrder.vue b/src/views/produceManager/produceOrder.vue
index fd06019..e81b81f 100644
--- a/src/views/produceManager/produceOrder.vue
+++ b/src/views/produceManager/produceOrder.vue
@@ -45,18 +45,24 @@
             <el-form-item label="璁㈠崟缂栧彿" style=" display: flex;">
               <el-input v-model="form.erpordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
+
+            <el-form-item label="閿�鍞鍗�" style=" display: flex;">
+              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+            </el-form-item>
+
             <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
               <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item label="浜у搧鍚嶇О" style=" display: flex;">
+
+            <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
               <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
               <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
-              <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
-            </el-form-item>
+            <!--            <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">-->
+            <!--              <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />-->
+            <!--            </el-form-item>-->
             <el-form-item
               v-show="isExpandForm"
               label="棰勮寮�宸ユ椂闂�"
@@ -196,6 +202,18 @@
             sortable="custom"
             min-width="150"
           />
+          <el-table-column
+            show-tooltip-when-overflow
+            prop="saleOrderCode"
+            label="閿�鍞鍗�"
+            sortable="custom"
+            width="150"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="partcode"
             label="浜у搧缂栫爜"
@@ -482,6 +500,7 @@
         partname: '', // 浜у搧鍚嶇О
         partspec: '', // 浜у搧瑙勬牸
         creatuser: '', // 鍒涘缓浜哄憳
+        saleordercode: '', // 閿�鍞鍗�
         // paystartdate: '', // 浜や粯鏃堕棿
         paystartdate: '', // 棰勮寮�宸ユ椂闂�
         payenddate: '', // 棰勮瀹屽伐鏃堕棿
@@ -520,6 +539,8 @@
         ordernum: '', // 涓嬪崟鍗曟暟
         relse_qty: '', // 宸蹭笅鍗曟暟閲�
         saleOrderDeliveryDate: '', // 棰勮浜や粯鏃ユ湡
+
+        saleordercode: '', // 閿�鍞鍗�
 
         saleOrderDeliveryDateIsDisabled: false// 棰勮浜や粯鏃ユ湡瀛楁鏄惁鍙慨鏀�
       },
@@ -585,6 +606,7 @@
         partspec: this.form.partspec, // 浜у搧瑙勬牸
         paystartdate: tempDate2, // 浜や粯鏃堕棿
         payenddate: tempDate, // 浜や粯鏃堕棿
+        saleordercode: this.form.saleordercode,
         creatuser: this.form.creatuser, // 鍒涘缓浜哄憳
         // createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
 
@@ -653,6 +675,7 @@
       this.form.paystartdate = ''
       this.form.payenddate = ''
       this.form.creatuser = ''
+      this.form.erpordercode = ''
       this.form.createdate = ''
       this.getErpOrderSearch()
     },
@@ -717,6 +740,8 @@
         this.dialogForm.warehousecode = row.stck_code
         this.dialogForm.warehousename = row.stck_name
 
+        this.dialogForm.saleordercode = row.saleOrderCode
+
         this.dialogForm.saleOrderDeliveryDate = row.saleOrderDeliveryDate
 
         this.dialogForm.saleOrderDeliveryDateIsDisabled = this.dialogForm.saleOrderDeliveryDate !== null
@@ -740,6 +765,8 @@
       this.dialogForm.warehousename = ''
 
       this.dialogForm.saleOrderDeliveryDate = ''
+
+      this.dialogForm.saleordercode = ''
 
       this.dialogForm.erpqty = ''
       this.dialogForm.markqty = ''
@@ -782,6 +809,7 @@
             'markqty': this.dialogForm.markqty,
             'ordernum': this.dialogForm.ordernum,
             'relse_qty': this.dialogForm.relse_qty,
+            'saleordercode': this.dialogForm.saleordercode,
             'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00'
           }
 
diff --git a/src/views/produceManager/produceStartOrder.vue b/src/views/produceManager/produceStartOrder.vue
index ab1e97f..4715ee8 100644
--- a/src/views/produceManager/produceStartOrder.vue
+++ b/src/views/produceManager/produceStartOrder.vue
@@ -15,7 +15,20 @@
                 @keyup.enter.native="val=>enterNative(val,'produceCode')"
               />
               <!--                @keyup.native="e=>judgeIsScanning(e,'produceCode')"-->
-
+              <div style="width: 90px;margin-left: 20px">鐢熶骇璁惧锛�</div>
+              <el-select
+                v-model="form.SelectType"
+                style="width: 200px;"
+                placeholder="璇烽�夋嫨"
+                @change="selectTypeChange"
+              >
+                <el-option
+                  v-for="item in ZZeqpArr"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.code"
+                />
+              </el-select>
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
               <el-button v-waves @click="ZZstart">
@@ -575,19 +588,20 @@
           <div style="width: 200px">{{ dialogForm.startqty }}</div>
           <!--          <div style="width: 200px">{{  dialogForm.noreportqty }}</div>-->
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" prop="eqpcode" label="鐢熶骇璁惧锛�">
-          <el-select
-            v-model="dialogForm.eqpcode"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in ZZeqpArr"
-              :key="item.code"
-              :label="item.name"
-              :value="item.code"
-            />
-          </el-select>
+        <el-form-item v-if="dialogTitle==='鑷埗寮�濮�'" label="鐢熶骇璁惧锛�">
+          <div style="width: 200px">{{ form.SelectType? ZZeqpArr.find(i=>i.code===form.SelectType).name:'' }}</div>
+          <!--          <el-select-->
+          <!--            v-model="dialogForm.eqpcode"-->
+          <!--            style="width: 200px;"-->
+          <!--            placeholder="璇烽�夋嫨"-->
+          <!--          >-->
+          <!--            <el-option-->
+          <!--              v-for="item in ZZeqpArr"-->
+          <!--              :key="item.code"-->
+          <!--              :label="item.name"-->
+          <!--              :value="item.code"-->
+          <!--            />-->
+          <!--          </el-select>-->
         </el-form-item>
         <!--     鑷埗鎶ュ伐   -->
         <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="涓嬮亾宸ュ簭锛�" style="margin: 0 10px 0 0">
@@ -1343,6 +1357,7 @@
       WXradioSelected: '', // 宸ュ簭閫変腑
       form: {
         orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
+        SelectType: '', // 璁惧缂栫爜
         prop: 'lm_date', // 鎺掑簭瀛楁
         order: 'desc', // 鎺掑簭瀛楁
         page: 1, // 绗嚑椤�
@@ -1765,24 +1780,23 @@
       // 鏀舵枡锛歝ode="200"  count=3
       // 璧板垪琛ㄥ舰寮� code="200"  count=4
       if (belong === 'produceCode') {
-        const orderstepqrcode = this.form.orderstepqrcode
-        const data = {
-          OperType: 'ZZ',
-          orderstepqrcode: orderstepqrcode,
-          SelectType: '',
-          stu_torgcode: getCookie('stu_torgcode')
-        }
-        const res = await MesOrderStepStart(data)
-        if (res.code === '200' && res.count === 0) {
-          // console.log(res, 777)
-          // if (parseFloat(res.data.startqty) === 0) {
-          //   return this.$message.error('')
-          // }
-          await this.ZZstart(res.data)
-        }
-        if (res.code === '200' && res.count === 1) {
-          await this.ZZreport(res.data)
-        }
+        await this.getMesOrderStepStartSelectEqp()
+
+        // const orderstepqrcode = this.form.orderstepqrcode
+        // const data = {
+        //   OperType: 'ZZ',
+        //   orderstepqrcode: orderstepqrcode,
+        //   SelectType: this.form.SelectType,
+        //   stu_torgcode: getCookie('stu_torgcode')
+        // }
+        // const res = await MesOrderStepStart(data)
+        // if (res.code === '200' && res.count === 0) {
+        //   await this.ZZstart(res.data)
+        // }
+
+        // if (res.code === '200' && res.count === 1) {
+        //   await this.ZZreport(res.data)
+        // }
       }
       if (belong === 'WXproduceCode') {
         const orderstepqrcode = this.WXform.orderstepqrcode
@@ -1836,7 +1850,7 @@
         this.dialogForm.startqty = obj.noreportqty
       })
 
-      await this.getMesOrderStepStartSelectEqp()
+      // await this.getMesOrderStepStartSelectEqp()
     },
     // 鑷埗鎶ュ伐
     async ZZreport(obj) {
@@ -1846,37 +1860,37 @@
       this.dialogTitle = '鑷埗鎶ュ伐'
       this.dialogVisible = true
 
+      this.dialogForm.wo_code = obj.wo_code
+      this.dialogForm.partcode = obj.partnumber
+      this.dialogForm.partname = obj.partname
+      this.dialogForm.partspec = obj.partspec
+      this.dialogForm.stepseq = obj.seq
+      this.dialogForm.stepcode = obj.stepcode
+      this.dialogForm.stepname = obj.stepname
+      this.dialogForm.stepdesc = obj.stepdesc
+      this.dialogForm.planqty = obj.planqty
+      this.dialogForm.reportqty = obj.reportqty
+      this.dialogForm.noputqty = obj.noputqty
+      this.dialogForm.noreportqty = obj.noreportqty
+      // this.dialogForm.startqty = obj.startqty
+      this.dialogForm.startqty = obj.noreportqty
+
+      this.dialogForm.nextstepname = obj.nextstepname
+      this.dialogForm.nextstepcode = obj.nextstepcode
+
+      this.dialogForm.startqtySum = obj.noreportqty
+
+      this.dialogForm.eqpname = obj.eqpname
+      this.dialogForm.eqpcode = obj.eqpcode
+      console.log(obj.wkshopcode, 7)
+      this.dialogForm.wkshopcode = obj.wkshopcode
+      this.dialogForm.wkshopname = obj.wkshopname
+
       this.$nextTick(() => {
-        this.dialogForm.wo_code = obj.wo_code
-        this.dialogForm.partcode = obj.partnumber
-        this.dialogForm.partname = obj.partname
-        this.dialogForm.partspec = obj.partspec
-        this.dialogForm.stepseq = obj.seq
-        this.dialogForm.stepcode = obj.stepcode
-        this.dialogForm.stepname = obj.stepname
-        this.dialogForm.stepdesc = obj.stepdesc
-        this.dialogForm.planqty = obj.planqty
-        this.dialogForm.reportqty = obj.reportqty
-        this.dialogForm.noputqty = obj.noputqty
-        this.dialogForm.noreportqty = obj.noreportqty
-        // this.dialogForm.startqty = obj.startqty
-        this.dialogForm.startqty = obj.noreportqty
-
-        this.dialogForm.nextstepname = obj.nextstepname
-        this.dialogForm.nextstepcode = obj.nextstepcode
-
-        this.dialogForm.startqtySum = obj.noreportqty
-
-        this.dialogForm.eqpname = obj.eqpname
-        this.dialogForm.eqpcode = obj.eqpcode
-
-        this.dialogForm.wkshopcode = obj.wkshopcode
-        this.dialogForm.wkshopname = obj.wkshopname
-
         this.$refs.userTableDataRef.doLayout()
       })
 
-      await this.getMesOrderStepStartSelectEqp()
+      // await this.getMesOrderStepStartSelectEqp()
       await this.getMesOrderStepReportSelectUserGroup()
       await this.getMesOrderStepSelectCause('ZZ')
       await this.getMesOrderSelectUserZZ()
@@ -1966,6 +1980,8 @@
     },
     // 鑾峰彇鑷埗鎶ュ伐鐢熶骇鐝粍涓嬫媺鍒楄〃
     async getMesOrderStepReportSelectUserGroup() {
+      // this.dialogForm.wkshopcode
+      console.log(this.dialogForm.wkshopcode, 8)
       const { data: res } = await MesOrderStepReportSelectUserGroup({ wkshopcode: this.dialogForm.wkshopcode })
       this.ZZtreams = res
     },
@@ -2006,6 +2022,27 @@
       const { data: res } = await MesOrderStepSelectCause({ orderstepqrcode: orderstepqrcode })
       this.badArr = res
     },
+
+    // 寮�宸ラ�夋嫨璁惧鏀瑰彉鏃�
+    async selectTypeChange(val) {
+      this.form.SelectType = val
+      const orderstepqrcode = this.form.orderstepqrcode
+      const data = {
+        OperType: 'ZZ',
+        orderstepqrcode: orderstepqrcode,
+        SelectType: this.form.SelectType,
+        stu_torgcode: getCookie('stu_torgcode')
+      }
+      const res = await MesOrderStepStart(data)
+      if (res.code === '200' && res.count === 0) {
+        await this.ZZstart(res.data)
+      }
+
+      if (res.code === '200' && res.count === 1) {
+        await this.ZZreport(res.data)
+      }
+    },
+
     // 鎶ュ伐鏌ヨ鐢ㄦ埛琛�
     async getUserTableData() {
       const { data: res } = await MesOrderGroupSelectUser({ usergroupcode: this.dialogForm.usergroupcode })
@@ -2139,36 +2176,36 @@
       this.WXform.orderstepqrcode = ''
       this.badForm.orderstepqrcode = ''
 
-      this.dialogForm.wo_code = '', // 宸ュ崟缂栧彿
-      this.dialogForm.partcode = '', // 浜у搧缂栫爜
-      this.dialogForm.partname = '', // 浜у搧鍚嶇О
-      this.dialogForm.partspec = '', // 浜у搧瑙勬牸
-      this.dialogForm.stepseq = '', // 宸ュ簭搴忓彿
-      this.dialogForm.stepcode = '', // 宸ュ簭缂栫爜
-      this.dialogForm.stepname = '', // 褰撳墠宸ュ簭鍚�
-      this.dialogForm.nextstepname = '', // 涓嬩竴閬撳伐搴忓悕
-      this.dialogForm.stepdesc = '', // 宸ュ簭鎻忚堪
-      this.dialogForm.planqty = '', // 浠诲姟鏁伴噺
-      this.dialogForm.reportqty = '', // 宸叉姤鏁伴噺
-      this.dialogForm.noreportqty = '', // 鏈姤鏁伴噺
-      this.dialogForm.startqty = '', // 寮�(鎶�)宸ユ暟閲�
+      this.dialogForm.wo_code = '' // 宸ュ崟缂栧彿
+      this.dialogForm.partcode = '' // 浜у搧缂栫爜
+      this.dialogForm.partname = '' // 浜у搧鍚嶇О
+      this.dialogForm.partspec = '' // 浜у搧瑙勬牸
+      this.dialogForm.stepseq = ''// 宸ュ簭搴忓彿
+      this.dialogForm.stepcode = '' // 宸ュ簭缂栫爜
+      this.dialogForm.stepname = '' // 褰撳墠宸ュ簭鍚�
+      this.dialogForm.nextstepname = ''// 涓嬩竴閬撳伐搴忓悕
+      this.dialogForm.stepdesc = '' // 宸ュ簭鎻忚堪
+      this.dialogForm.planqty = '' // 浠诲姟鏁伴噺
+      this.dialogForm.reportqty = '' // 宸叉姤鏁伴噺
+      this.dialogForm.noreportqty = '' // 鏈姤鏁伴噺
+      this.dialogForm.startqty = '' // 寮�(鎶�)宸ユ暟閲�
 
-      this.dialogForm.wxcode = '', // 澶栧崗渚涘簲鍟嗙紪鐮�
-      this.dialogForm.outuser = '', // 鍙戞枡浜哄憳
-      this.dialogForm.taskqty = '', // 浠诲姟鏁伴噺
-      this.dialogForm.fqty = '', // 鍙戞枡鏁伴噺
+      this.dialogForm.wxcode = '' // 澶栧崗渚涘簲鍟嗙紪鐮�
+      this.dialogForm.outuser = '' // 鍙戞枡浜哄憳
+      this.dialogForm.taskqty = '' // 浠诲姟鏁伴噺
+      this.dialogForm.fqty = '' // 鍙戞枡鏁伴噺
 
-      this.dialogForm.inuser = getCookie('navTabId'), // 鏀舵枡浜哄憳  榛樿鐧诲綍浜哄憳
-      this.dialogForm.sqty = '', // 鏀舵枡鏁伴噺
-      this.dialogForm.ngqty = '', // 涓嶈壇鏁伴噺
-      this.dialogForm.badcode = '', // 涓嶈壇鍘熷洜缂栫爜
+      this.dialogForm.inuser = getCookie('navTabId') // 鏀舵枡浜哄憳  榛樿鐧诲綍浜哄憳
+      this.dialogForm.sqty = '' // 鏀舵枡鏁伴噺
+      this.dialogForm.ngqty = '' // 涓嶈壇鏁伴噺
+      this.dialogForm.badcode = '' // 涓嶈壇鍘熷洜缂栫爜
 
-      this.dialogForm.noputqty = '', // 涓嶈壇鏁伴噺
+      this.dialogForm.noputqty = '' // 涓嶈壇鏁伴噺
 
-      this.dialogForm.eqpcode = '', // 鐢熶骇璁惧缂栫爜
+      this.dialogForm.eqpcode = '' // 鐢熶骇璁惧缂栫爜
 
-      this.dialogForm.usergroupcode = '', // 鐝粍缂栫爜
-      this.dialogForm.reportuser = '', // 鎶ュ伐浜哄憳
+      this.dialogForm.usergroupcode = '' // 鐝粍缂栫爜
+      this.dialogForm.reportuser = '' // 鎶ュ伐浜哄憳
 
       this.dialogForm.startqtySum = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
@@ -2183,6 +2220,9 @@
       this.dialogForm.remarks = '' // 澶囨敞
       this.dialogForm.operation = getCookie('navTabId') // 鎶ュ伐浜猴紙鏀舵枡浜猴級
       this.userTableData = [] // 浜哄憳鍒楄〃
+
+      this.form.SelectType = ''
+      this.ZZeqpArr = []
 
       this.$refs.dialogForm.clearValidate()
     },
@@ -2239,18 +2279,18 @@
 
             this.dialogForm.inbarcode = ''
             // 褰撲负鏈亾鐨勬椂鍊�
-            if (this.dialogForm.nextstepcode === '') {
-              const D = {
-                rightcode: '1078',
-                partcode: this.dialogForm.partcode,
-                qty: this.dialogForm.sqty,
-                onelabqty: this.dialogForm.sqty
-              }
-              const r = await LabelBarCode(D)
-              this.dialogForm.inbarcode = r.data[0].labcode
-
-              this.qrForm.partspec = this.dialogForm.partspec
-            }
+            // if (this.dialogForm.nextstepcode === '') {
+            //   const D = {
+            //     rightcode: '1078',
+            //     partcode: this.dialogForm.partcode,
+            //     qty: this.dialogForm.sqty,
+            //     onelabqty: this.dialogForm.sqty
+            //   }
+            //   const r = await LabelBarCode(D)
+            //   this.dialogForm.inbarcode = r.data[0].labcode
+            //
+            //   this.qrForm.partspec = this.dialogForm.partspec
+            // }
 
             const data = {
               mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
@@ -2289,7 +2329,7 @@
               partcode: this.dialogForm.partcode, // 浜у搧缂栫爜
               stepseq: this.dialogForm.stepseq, // 宸ュ簭搴忓彿   鏆傛椂缂�
               stepcode: this.dialogForm.stepcode, // 宸ュ簭缂栫爜
-              eqpcode: this.dialogForm.eqpcode, // 鐢熶骇璁惧
+              eqpcode: this.form.SelectType, // 鐢熶骇璁惧
               taskqty: this.dialogForm.planqty, // 浠诲姟鏁伴噺
               startqty: this.dialogForm.startqty// 寮�濮嬫暟閲�
             }
diff --git a/src/views/produceManager/workOrder.vue b/src/views/produceManager/workOrder.vue
index 31e11ab..14dd13a 100644
--- a/src/views/produceManager/workOrder.vue
+++ b/src/views/produceManager/workOrder.vue
@@ -43,7 +43,10 @@
             <el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
               <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item label="鍗曟嵁绫诲瀷" style=" display: flex;">
+            <el-form-item label="閿�鍞鍗�" style="display: flex;">
+              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+            </el-form-item>
+            <el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
               <el-select
                 v-model="form.ordertype"
                 :popper-append-to-body="false"
@@ -193,6 +196,18 @@
           >
             <template slot-scope="{row}">
               <div v-if="row.m_po">{{ row.m_po }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="saleOrderCode"
+            label="閿�鍞鍗�"
+            sortable="custom"
+            show-tooltip-when-overflow
+            min-width="160"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
               <div v-else>/</div>
             </template>
           </el-table-column>
@@ -647,78 +662,68 @@
             />
           </el-select>
         </el-form-item>
-        <!--        <el-button-->
-        <!--          v-waves-->
-        <!--          type="primary"-->
-        <!--          style="padding: 0 10px;margin-left: -8px;margin-top:3px"-->
-        <!--          class="el-icon-search"-->
-        <!--          @click="searchClick"-->
-        <!--        />-->
-        <!--            :disabled="dialogForm.routecode===''"-->
 
-        <!--          </div>-->
-        <!--        </div>-->
-        <el-form-item label="鏄惁鎺掔▼" prop="isAps">
-          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">
-            <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>
-            <el-radio key="N" label="N" value="N">鍚�</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">
-          <el-select
-            v-model="dialogForm.bomId"
-            filterable
-            :disabled="dialogForm.isAps==='N'"
-            :popper-append-to-body="false"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in bomIdArr"
-              :key="item.id"
-              :label="item.version"
-              :value="item.id"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">
-          <el-date-picker
-            v-model="dialogForm.planstartdate"
-            type="date"
-            :clearable="false"
-            value-format="yyyy-MM-dd"
-            :picker-options="pickerOptions"
-            style="width: 200px"
-            placeholder="閫夋嫨鏃ユ湡"
-          />
-        </el-form-item>
-        <el-form-item label="璁″垝瀹屾垚鏃堕棿" prop="planenddate">
-          <el-date-picker
-            v-model="dialogForm.planenddate"
-            type="date"
-            :clearable="false"
-            value-format="yyyy-MM-dd"
-            style="width: 200px"
-            placeholder="閫夋嫨鏃ユ湡"
-            :picker-options="pickerOptions"
-          />
-        </el-form-item>
-        <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">
-          <el-select
-            v-model="dialogForm.orderlev"
-            filterable
-            :popper-append-to-body="false"
-            style="width: 200px"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in orderlevArr"
-              :key="item.code"
-              :label="item.name"
-              :value="item.code"
-            />
-          </el-select>
-        </el-form-item>
+        <!--        <el-form-item label="鏄惁鎺掔▼" prop="isAps">-->
+        <!--          <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps">-->
+        <!--            <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>-->
+        <!--            <el-radio key="N" label="N" value="N">鍚�</el-radio>-->
+        <!--          </el-radio-group>-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="鐗╂枡娓呭崟" :prop="dialogForm.isAps==='Y'?'bomId':''">-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.bomId"-->
+        <!--            filterable-->
+        <!--            :disabled="dialogForm.isAps==='N'"-->
+        <!--            :popper-append-to-body="false"-->
+        <!--            style="width: 200px;"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in bomIdArr"-->
+        <!--              :key="item.id"-->
+        <!--              :label="item.version"-->
+        <!--              :value="item.id"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">-->
+        <!--          <el-date-picker-->
+        <!--            v-model="dialogForm.planstartdate"-->
+        <!--            type="date"-->
+        <!--            :clearable="false"-->
+        <!--            value-format="yyyy-MM-dd"-->
+        <!--            :picker-options="pickerOptions"-->
+        <!--            style="width: 200px"-->
+        <!--            placeholder="閫夋嫨鏃ユ湡"-->
+        <!--          />-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="璁″垝瀹屾垚鏃堕棿" prop="planenddate">-->
+        <!--          <el-date-picker-->
+        <!--            v-model="dialogForm.planenddate"-->
+        <!--            type="date"-->
+        <!--            :clearable="false"-->
+        <!--            value-format="yyyy-MM-dd"-->
+        <!--            style="width: 200px"-->
+        <!--            placeholder="閫夋嫨鏃ユ湡"-->
+        <!--            :picker-options="pickerOptions"-->
+        <!--          />-->
+        <!--        </el-form-item>-->
+        <!--        <el-form-item label="宸ュ崟绛夌骇" prop="orderlev">-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.orderlev"-->
+        <!--            filterable-->
+        <!--            :popper-append-to-body="false"-->
+        <!--            style="width: 200px"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in orderlevArr"-->
+        <!--              :key="item.code"-->
+        <!--              :label="item.name"-->
+        <!--              :value="item.code"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
 
       </el-form>
 
@@ -2022,6 +2027,7 @@
         partcode: '', // 浜у搧缂栫爜
         ordertype: '', // ordertype
         sourceorder: '', // 婧愬崟鍗曞彿
+        saleordercode: '', // 閿�鍞鍗�
         partname: '', // 浜у搧鍚嶇О
         partspec: '', // 浜у搧瑙勬牸
         creatuser: '', // 鍒涘缓浜哄憳
@@ -2280,6 +2286,7 @@
         partspec: this.form.partspec, // 浜у搧瑙勬牸
         creatuser: this.form.creatuser, // 鍒涘缓浜哄憳
         sourceorder: this.form.sourceorder, // 婧愬崟鍗曞彿
+        saleordercode: this.form.saleordercode, // 閿�鍞鍗�
         ordertype: this.form.ordertype, // 鍗曟嵁绫诲瀷
         createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
         prop: this.form.prop, // 鎺掑簭瀛楁
diff --git a/src/views/qualityManager/qualityPlaning.vue b/src/views/qualityManager/qualityPlaning.vue
index a46b970..0751d97 100644
--- a/src/views/qualityManager/qualityPlaning.vue
+++ b/src/views/qualityManager/qualityPlaning.vue
@@ -317,8 +317,8 @@
         <br>
         <el-form-item prop="checktype" label="璐ㄦ绫诲瀷">
           <el-radio-group v-model="dialogForm.checktype">
-            <el-radio label="InCheck">鍏ュ巶妫�楠�</el-radio>
-            <el-radio label="OutCheck">鍑哄巶妫�楠�</el-radio>
+            <!--            <el-radio label="InCheck">鍏ュ巶妫�楠�</el-radio>-->
+            <!--            <el-radio label="OutCheck">鍑哄巶妫�楠�</el-radio>-->
             <el-radio label="FirstCheck">棣栨妫�楠�</el-radio>
             <el-radio label="PatroCheck">宸℃</el-radio>
             <el-radio label="EndCheck">瀹屽伐妫�</el-radio>

--
Gitblit v1.9.3