From c26deaa0190c0ed42b398f3e5696013127a6c10f Mon Sep 17 00:00:00 2001 From: 小小儁爺 <1694218219@qq.com> Date: 星期二, 11 三月 2025 16:17:51 +0800 Subject: [PATCH] 1.看板修改 --- src/views/basicSettings/contactUnitList.vue | 960 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 524 insertions(+), 436 deletions(-) diff --git a/src/views/basicSettings/contactUnitList.vue b/src/views/basicSettings/contactUnitList.vue index 4bb81a3..854f0b2 100644 --- a/src/views/basicSettings/contactUnitList.vue +++ b/src/views/basicSettings/contactUnitList.vue @@ -7,8 +7,10 @@ <div style="margin: 20px 10px 0 10px;display: flex;justify-content: space-between;"> <div style="display: flex;"> - <div style="width: 5px;height: 100%;border-radius: 5px;" - :style="{background:$store.state.settings.theme}" /> + <div + style="width: 5px;height: 100%;border-radius: 5px;" + :style="{background:$store.state.settings.theme}" + /> <div style="margin-left: 8px;">寰�鏉ュ崟浣�</div> </div> @@ -20,19 +22,36 @@ </div> - <el-tree ref="treeLeftRef" style="padding: 10px;overflow: auto" :style="{height:(tableHeight+222)+'px'}" - :data="treeLeft" node-key="code" highlight-current :props="defaultPropsLeft" :default-expand-all="true" - :expand-on-click-node="false" @node-click="getTCunstomerData"> + <el-tree + ref="treeLeftRef" + style="padding: 10px;overflow: auto" + :style="{height:(tableHeight+222)+'px'}" + :data="treeLeft" + node-key="code" + highlight-current + :props="defaultPropsLeft" + :default-expand-all="true" + :expand-on-click-node="false" + @node-click="getTCunstomerData" + > <span slot-scope="{ node, data }" class="custom-tree-node"> <span v-if="!data.isEdit">{{ data.name }}</span> <span v-if="!data.isEdit"> <el-tooltip v-del-tab-index class="item" effect="dark" content="缂栬緫" placement="top"> - <i v-if="data.code!=='-1'" class="el-icon-edit" style="margin-right:10px;color: #999" - @click.stop="treeEditClick(node,data,'edit')" /> + <i + v-if="data.code!=='-1'" + class="el-icon-edit" + style="margin-right:10px;color: #999" + @click.stop="treeEditClick(node,data,'edit')" + /> </el-tooltip> <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top"> - <i v-if="data.code!=='-1'" class="el-icon-delete" style="margin-right: 4px;color: #999" - @click.stop="treeDeleteClick(node,data)" /> + <i + v-if="data.code!=='-1'" + class="el-icon-delete" + style="margin-right: 4px;color: #999" + @click.stop="treeDeleteClick(node,data)" + /> </el-tooltip> </span> </span> @@ -43,8 +62,12 @@ <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> <div style="display: flex"> - <el-button v-waves type="success" icon="el-icon-download" - @click="$router.push('./../systemSetting/dataImport?fileCode=5')">瀵煎叆</el-button> + <el-button + v-waves + type="success" + icon="el-icon-download" + @click="$router.push('./../systemSetting/dataImport?fileCode=5')" + >瀵煎叆</el-button> <el-button v-waves icon="el-icon-refresh-right" @click="syncERP">鍚屾寰�鏉ュ崟浣�</el-button> </div> @@ -81,10 +104,16 @@ <!-- <el-input v-model="form.username" placeholder="璇疯緭鍏�" style="width: 200px" />--> <!-- </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="getTCunstomerData($refs.treeLeftRef.getCurrentNode())">鏌ヨ + <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="getTCunstomerData($refs.treeLeftRef.getCurrentNode())" + >鏌ヨ </el-button> <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button> </div> @@ -107,10 +136,19 @@ </div> <div class="elTableDiv"> - <el-table ref="tableDataRef" class="tableFixed" :data="tableData" - :height="isExpandForm?tableHeight:(tableHeight+80)+'px'" border row-class-name="custom-row" - :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px',}" highlight-current-row - :header-cell-style="this.$headerCellStyle" :cell-style="this.$cellStyle" @sort-change="sortChange"> + <el-table + ref="tableDataRef" + class="tableFixed" + :data="tableData" + :height="isExpandForm?tableHeight:(tableHeight+80)+'px'" + border + row-class-name="custom-row" + :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px',}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > <!-- prop="RowNum"--> <el-table-column prop="rowNum" width="50" fixed label="搴忓彿" /> <el-table-column prop="code" label="寰�鏉ュ崟浣嶇紪鐮�" sortable="custom" /> @@ -152,8 +190,11 @@ <template slot-scope="{row}"> <div class="operationClass"> <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top"> - <i class="el-icon-edit-outline" :style="{color:$store.state.settings.theme}" - @click="edit('edit',row)" /> + <i + class="el-icon-edit-outline" + :style="{color:$store.state.settings.theme}" + @click="edit('edit',row)" + /> </el-tooltip> <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top"> <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" /> @@ -165,17 +206,31 @@ </div> <!--鍒嗛〉--> - <pagination :total="total" :page.sync="form.page" :limit.sync="form.rows" align="right" - layout="total,prev, pager, next,sizes,jumper" popper-class="select_bottom" - @pagination="getTCunstomerData($refs.treeLeftRef.getCurrentNode())" /> + <pagination + :total="total" + :page.sync="form.page" + :limit.sync="form.rows" + align="right" + layout="total,prev, pager, next,sizes,jumper" + popper-class="select_bottom" + @pagination="getTCunstomerData($refs.treeLeftRef.getCurrentNode())" + /> </div> </div> </div> <!-- 寰�鏉ョ被鍒柊澧炰慨鏀�--> - <el-dialog v-el-drag-dialog :title="operation==='add'?'鏂板':'缂栬緫'" :visible.sync="dialogClassVisible" width="800px" - :close-on-click-modal="false" top="15vh" @closed="handleClassClose" @close="handleClassClose"> + <el-dialog + v-el-drag-dialog + :title="operation==='add'?'鏂板':'缂栬緫'" + :visible.sync="dialogClassVisible" + width="800px" + :close-on-click-modal="false" + top="15vh" + @closed="handleClassClose" + @close="handleClassClose" + > <el-form ref="dialogClassForm" inline :rules="dialogClassFormRules" :model="dialogClassForm" label-width="80px"> <el-form-item label="鍒嗙被缂栫爜" prop="customerclasscode"> <el-input v-model="dialogClassForm.customerclasscode" :disabled="operation!=='add'" style="width: 200px" /> @@ -184,8 +239,13 @@ <el-input v-model="dialogClassForm.customerclassname" style="width: 200px" /> </el-form-item> <el-form-item label="涓婄骇鍒嗙被"> - <el-select v-model="dialogClassForm.parentcode" style="width:200px" placeholder="璇烽�夋嫨" - :popper-append-to-body="false" clearable> + <el-select + v-model="dialogClassForm.parentcode" + style="width:200px" + placeholder="璇烽�夋嫨" + :popper-append-to-body="false" + clearable + > <el-option v-for="item in treeLeftArr" :key="item.code" :label="item.name" :value="item.code" /> </el-select> </el-form-item> @@ -194,15 +254,28 @@ <span slot="footer" class="dialog-footer"> <div class="footerButton"> <el-button v-waves @click="dialogVisibleClassCancel">鍙� 娑�</el-button> - <el-button v-waves type="primary" :loading="$store.state.app.buttonIsDisabled" - :disabled="$store.state.app.buttonIsDisabled" @click="dialogVisibleClassConfirm">纭� 瀹�</el-button> + <el-button + v-waves + type="primary" + :loading="$store.state.app.buttonIsDisabled" + :disabled="$store.state.app.buttonIsDisabled" + @click="dialogVisibleClassConfirm" + >纭� 瀹�</el-button> </div> </span> </el-dialog> <!-- 寰�鏉ュ崟浣嶆柊澧炰慨鏀�--> - <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-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" class="" inline :rules="dialogFormRules" :model="dialogForm" label-width="110px"> <!-- <el-divider content-position="left">鍩烘湰淇℃伅</el-divider>--> @@ -214,8 +287,13 @@ </el-form-item> <el-form-item label="鎵�灞炵被鍒�" prop="customerclasscode"> - <el-select v-model="dialogForm.customerclasscode" style="width:200px" placeholder="璇烽�夋嫨" filterable - :popper-append-to-body="false"> + <el-select + v-model="dialogForm.customerclasscode" + style="width:200px" + placeholder="璇烽�夋嫨" + filterable + :popper-append-to-body="false" + > <el-option v-for="item in treeLeftArr" :key="item.code" :label="item.name" :value="item.code" /> </el-select> </el-form-item> @@ -233,8 +311,12 @@ <el-input v-model="dialogForm.conttphone" style="width: 200px" /> </el-form-item> <el-form-item label="鍦板潃"> - <el-input v-model="dialogForm.addr" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" - style="width: 520px;" /> + <el-input + v-model="dialogForm.addr" + type="textarea" + :autosize="{ minRows: 2, maxRows: 4}" + style="width: 520px;" + /> </el-form-item> </el-form> @@ -242,8 +324,13 @@ <span slot="footer" class="dialog-footer"> <div class="footerButton"> <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button> - <el-button v-waves type="primary" :loading="$store.state.app.buttonIsDisabled" - :disabled="$store.state.app.buttonIsDisabled" @click="dialogVisibleConfirm">纭� 瀹�</el-button> + <el-button + v-waves + type="primary" + :loading="$store.state.app.buttonIsDisabled" + :disabled="$store.state.app.buttonIsDisabled" + @click="dialogVisibleConfirm" + >纭� 瀹�</el-button> </div> </span> </el-dialog> @@ -252,427 +339,428 @@ </template> <script> - import waves from '@/directive/waves' - import Pagination from '@/components/Pagination' - import { - validateCode - } from '@/utils/global' - import elDragDialog from '@/directive/el-drag-dialog' - import arrayToTree from 'array-to-tree' - import { - TCunstomerAddUpdate, - TCunstomerClassTree, - TCunstomerClassTreeAddUpdate, - TCunstomerClassTreeDelete, - TCunstomerData, - TCunstomerDelete - } from '@/api/basicSettings' - import { - SeaveSearchPartner - } from '@/api/ErpSyncMes' +import waves from '@/directive/waves' +import Pagination from '@/components/Pagination' +import { + validateCode +} from '@/utils/global' +import elDragDialog from '@/directive/el-drag-dialog' +import arrayToTree from 'array-to-tree' +import { + TCunstomerAddUpdate, + TCunstomerClassTree, + TCunstomerClassTreeAddUpdate, + TCunstomerClassTreeDelete, + TCunstomerData, + TCunstomerDelete +} from '@/api/basicSettings' +import { + SeaveSearchPartner +} from '@/api/ErpSyncMes' - export default { - name: 'ContactUnitList', - directives: { - waves, - elDragDialog - }, - components: { - Pagination - }, - data() { - return { - mouseHoverType: 'mouseout', - isExpandForm: false, - mainHeight: 0, - tableHeight: 0, - operation: '', +export default { + name: 'ContactUnitList', + directives: { + waves, + elDragDialog + }, + components: { + Pagination + }, + data() { + return { + mouseHoverType: 'mouseout', + isExpandForm: false, + mainHeight: 0, + tableHeight: 0, + operation: '', - treeLeft: [{ - code: '-1', - name: '鍏ㄩ儴' - }], // 宸︿晶鏍� - treeLeftArr: [], - defaultPropsLeft: { - children: 'children', - label: 'name' - }, + treeLeft: [{ + code: '-1', + name: '鍏ㄩ儴' + }], // 宸︿晶鏍� + treeLeftArr: [], + defaultPropsLeft: { + children: 'children', + label: 'name' + }, - tableData: [], - form: { - customerclasscode: '', - customercode: '', - customername: '', - partspec: '', - page: 1, - rows: 20, - prop: 'lm_date', // 鎺掑簭瀛楁 - order: 'desc' // 鎺掑簭瀛楁 - }, - total: 0, - dialogClassVisible: false, - dialogClassForm: { - data_sources: '', // 鏁版嵁鏉ユ簮:ERP/MES - customerclasscode: '', // 瀛樿揣鍒嗙被缂栫爜 - customerclassname: '', // 瀛樿揣鍒嗙被鍚嶇О - parentcode: '', // 涓婄骇鍒嗙被缂栫爜 - OperType: '' // OperType - }, - classArr: [], - dialogClassFormRules: { - customerclasscode: [{ - required: true, - validator: validateCode, - trigger: ['blur', 'change'] - }], - customerclassname: [{ - required: true, - message: '璇疯緭寰�鏉ュ崟浣嶅悕绉�', - trigger: ['blur', 'change'] - }] - }, + tableData: [], + form: { + customerclasscode: '', + customercode: '', + customername: '', + partspec: '', + page: 1, + rows: 20, + prop: 'lm_date', // 鎺掑簭瀛楁 + order: 'desc' // 鎺掑簭瀛楁 + }, + total: 0, + dialogClassVisible: false, + dialogClassForm: { + data_sources: '', // 鏁版嵁鏉ユ簮:ERP/MES + customerclasscode: '', // 瀛樿揣鍒嗙被缂栫爜 + customerclassname: '', // 瀛樿揣鍒嗙被鍚嶇О + parentcode: '', // 涓婄骇鍒嗙被缂栫爜 + OperType: '' // OperType + }, + classArr: [], + dialogClassFormRules: { + customerclasscode: [{ + required: true, + validator: validateCode, + trigger: ['blur', 'change'] + }], + customerclassname: [{ + required: true, + message: '璇疯緭寰�鏉ュ崟浣嶅悕绉�', + trigger: ['blur', 'change'] + }] + }, - dialogVisible: false, - dialogForm: { - data_sources: 'MES', // 鏁版嵁鏉ユ簮锛汦RP/MES - customercode: '', // - customername: '', // - customerclasscode: '', - conttacts: '', - conttphone: '', - addr: '', - status: '0', // 浣跨敤鐘舵��: 姝e父(0)鍋滅敤(1) - OperType: '' // 鎿嶄綔绫诲瀷 - }, - dialogFormRules: { - customercode: [{ - required: true, - validator: validateCode, - trigger: ['blur', 'change'] - }], - customername: [{ - required: true, - message: '璇疯緭鍏ュ線鏉ュ崟浣嶅悕绉�', - trigger: ['blur', 'change'] - }], - customerclasscode: [{ - required: true, - message: '璇烽�夋嫨鎵�灞炵被鍒�', - trigger: ['blur', 'change'] - }] - - } + dialogVisible: false, + dialogForm: { + data_sources: 'MES', // 鏁版嵁鏉ユ簮锛汦RP/MES + customercode: '', // + customername: '', // + customerclasscode: '', + conttacts: '', + conttphone: '', + addr: '', + status: '0', // 浣跨敤鐘舵��: 姝e父(0)鍋滅敤(1) + OperType: '' // 鎿嶄綔绫诲瀷 + }, + dialogFormRules: { + customercode: [{ + required: true, + validator: validateCode, + trigger: ['blur', 'change'] + }], + customername: [{ + required: true, + message: '璇疯緭鍏ュ線鏉ュ崟浣嶅悕绉�', + trigger: ['blur', 'change'] + }], + customerclasscode: [{ + required: true, + message: '璇烽�夋嫨鎵�灞炵被鍒�', + trigger: ['blur', 'change'] + }] } - }, - activated() { - window.addEventListener('resize', this.getHeight) - this.getHeight() - }, - created() { + } + }, - }, - mounted() { - window.addEventListener('resize', this.getHeight) - this.getHeight() + activated() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + this.getTCunstomerClassTree() + }, + created() { - this.getTCunstomerClassTree() - }, - methods: { - async getTCunstomerClassTree() { - const res = await TCunstomerClassTree() - res.data.forEach(i => { - i.idparent = i.idparent ? i.idparent : '-1' - }) - this.treeLeftArr = res.data - this.treeLeftArr.forEach(e => { - e.name = e.code + ' ' + e.name - }) - this.treeLeft = arrayToTree(this.treeLeft.concat(res.data), { - parentProperty: 'idparent', - customID: 'code', - childrenProperty: 'children' - }) - console.log(JSON.stringify(this.treeLeft), 1) - this.$nextTick(() => { - this.$refs.treeLeftRef.setCurrentKey('-1') - this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) - }) - }, - async getTCunstomerData(node) { - const result = this.getChildrenCodeMethod(node, []) - if (result.includes('-1')) { - result.shift() - } - this.form.customerclasscode = result.join(',') - const res = await TCunstomerData(this.form) + }, + mounted() { + window.addEventListener('resize', this.getHeight) + this.getHeight() - this.tableData = res.data - this.total = res.count - }, - - // 鑾峰彇椤甸潰楂樺害 - getHeight() { - this.$nextTick(() => { - this.mainHeight = window.innerHeight - 85 - this.tableHeight = this.mainHeight - 280 - this.$refs.tableDataRef.doLayout() - }) - }, - 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.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) - }, - // 鏂板鎸夐挳 - add(operation) { - this.operation = operation - this.dialogVisible = true - this.dialogForm.OperType = 'Add' - }, - // 淇敼鎸夐挳 - async edit(operation, row) { - this.operation = operation - this.dialogVisible = true - this.dialogForm.OperType = 'Update' - - this.$nextTick(() => { - this.dialogForm.data_sources = row.data_sources - this.dialogForm.customercode = row.code - this.dialogForm.customername = row.name - this.dialogForm.customerclasscode = row.customertypecode - this.dialogForm.conttacts = row.conttacts - this.dialogForm.conttphone = row.conttphone - this.dialogForm.addr = row.addr - - this.dialogForm.status = row.status - }) - }, - del(row) { - this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - TCunstomerDelete({ - customercode: row.code, - data_sources: row.data_sources - }).then(res => { - if (res.code === '200') { - this.$notify.success('鍒犻櫎鎴愬姛!') - this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) - } - }) - }).catch(() => { - this.$notify.info('宸插彇娑堝垹闄�') - }) - }, - reset() { - this.form.customerclasscode = '' - this.form.customercode = '' - this.form.customername = '' + this.getTCunstomerClassTree() + }, + methods: { + async getTCunstomerClassTree() { + const res = await TCunstomerClassTree() + res.data.forEach(i => { + i.idparent = i.idparent ? i.idparent : '-1' + }) + this.treeLeftArr = res.data + this.treeLeftArr.forEach(e => { + e.name = e.code + ' ' + e.name + }) + this.treeLeft = arrayToTree(this.treeLeft.concat(res.data), { + parentProperty: 'idparent', + customID: 'code', + childrenProperty: 'children' + }) + console.log(JSON.stringify(this.treeLeft), 1) + this.$nextTick(() => { this.$refs.treeLeftRef.setCurrentKey('-1') this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) - }, - // 瀵硅瘽妗嗗叧闂簨浠� - handleClose() { - this.dialogForm.data_sources = 'MES' - this.dialogForm.customercode = '' - this.dialogForm.customername = '' - this.dialogForm.customerclasscode = '' - this.dialogForm.conttacts = '' - this.dialogForm.conttphone = '' - this.dialogForm.addr = '' - this.dialogForm.status = '0' - this.$refs.dialogForm.clearValidate() - }, - // 瀵硅瘽妗嗗彇娑� - dialogVisibleCancel() { - this.dialogVisible = false - }, - // 瀵硅瘽妗嗙‘璁� - dialogVisibleConfirm() { - this.$refs.dialogForm.validate(valid => { - if (valid) { - // console.log(JSON.parse(JSON.stringify(this.dialogForm)), 2) - this.$store.state.app.buttonIsDisabled = true - TCunstomerAddUpdate(this.dialogForm).then(res => { - if (res.code === '200') { - this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�') - this.dialogVisible = false - this.$store.state.app.buttonIsDisabled = false - this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) - } else { - this.$store.state.app.buttonIsDisabled = false - this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') - } - }) + }) + }, + async getTCunstomerData(node) { + const result = this.getChildrenCodeMethod(node, []) + if (result.includes('-1')) { + result.shift() + } + this.form.customerclasscode = result.join(',') + const res = await TCunstomerData(this.form) + + this.tableData = res.data + this.total = res.count + }, + + // 鑾峰彇椤甸潰楂樺害 + getHeight() { + this.$nextTick(() => { + this.mainHeight = window.innerHeight - 85 + this.tableHeight = this.mainHeight - 280 + this.$refs.tableDataRef.doLayout() + }) + }, + 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.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) + }, + // 鏂板鎸夐挳 + add(operation) { + this.operation = operation + this.dialogVisible = true + this.dialogForm.OperType = 'Add' + }, + // 淇敼鎸夐挳 + async edit(operation, row) { + this.operation = operation + this.dialogVisible = true + this.dialogForm.OperType = 'Update' + + this.$nextTick(() => { + this.dialogForm.data_sources = row.data_sources + this.dialogForm.customercode = row.code + this.dialogForm.customername = row.name + this.dialogForm.customerclasscode = row.customertypecode + this.dialogForm.conttacts = row.conttacts + this.dialogForm.conttphone = row.conttphone + this.dialogForm.addr = row.addr + + this.dialogForm.status = row.status + }) + }, + del(row) { + this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + TCunstomerDelete({ + customercode: row.code, + data_sources: row.data_sources + }).then(res => { + if (res.code === '200') { + this.$notify.success('鍒犻櫎鎴愬姛!') + this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) } }) - }, - - // 閫掑綊鍙栧瓙闆嗙殑鎵�鏈塩ode - getChildrenCodeMethod(node, result) { - result.push(node.code) - if (node.children && node.children.length > 0) { - node.children.forEach(i => { - this.getChildrenCodeMethod(i, result) - }) - } - return result - }, - - treeEditClick(node, data, operation) { - this.dialogClassForm.data_sources = data.data_sources - this.dialogClassForm.customerclasscode = data.code - this.dialogClassForm.customerclassname = data.name.split(' ')[1] - this.dialogClassForm.parentcode = data.idparent === '-1' ? '' : data.idparent - this.dialogClassForm.OperType = 'Update' - this.operation = operation - this.dialogClassVisible = true - }, - treeDeleteClick(node, data) { - this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const result = this.getChildrenCodeMethod(data, []) - TCunstomerClassTreeDelete({ - customerclasscode: result.join(',') - }).then(res => { + }).catch(() => { + this.$notify.info('宸插彇娑堝垹闄�') + }) + }, + reset() { + this.form.customerclasscode = '' + this.form.customercode = '' + this.form.customername = '' + this.$refs.treeLeftRef.setCurrentKey('-1') + this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) + }, + // 瀵硅瘽妗嗗叧闂簨浠� + handleClose() { + this.dialogForm.data_sources = 'MES' + this.dialogForm.customercode = '' + this.dialogForm.customername = '' + this.dialogForm.customerclasscode = '' + this.dialogForm.conttacts = '' + this.dialogForm.conttphone = '' + this.dialogForm.addr = '' + this.dialogForm.status = '0' + this.$refs.dialogForm.clearValidate() + }, + // 瀵硅瘽妗嗗彇娑� + dialogVisibleCancel() { + this.dialogVisible = false + }, + // 瀵硅瘽妗嗙‘璁� + dialogVisibleConfirm() { + this.$refs.dialogForm.validate(valid => { + if (valid) { + // console.log(JSON.parse(JSON.stringify(this.dialogForm)), 2) + this.$store.state.app.buttonIsDisabled = true + TCunstomerAddUpdate(this.dialogForm).then(res => { if (res.code === '200') { - this.$notify.success('鍒犻櫎鎴愬姛!') - this.getTCunstomerClassTree() + this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�') + this.dialogVisible = false + this.$store.state.app.buttonIsDisabled = false + this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) + } else { + this.$store.state.app.buttonIsDisabled = false + this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') } }) - }).catch(() => { - this.$notify.info('宸插彇娑堝垹闄�') - }) - }, - treeAddClick(operation) { - this.operation = operation - this.dialogClassVisible = true - this.dialogClassForm.OperType = 'Add' - this.dialogClassForm.data_sources = 'MES' - }, - - handleClassClose() { - this.dialogClassForm.data_sources = '' - this.dialogClassForm.customerclasscode = '' - this.dialogClassForm.customerclassname = '' - this.dialogClassForm.parentcode = '' - this.dialogClassForm.OperType = '' - this.$refs.dialogClassForm.clearValidate() - }, - dialogVisibleClassCancel() { - this.dialogClassVisible = false - }, - dialogVisibleClassConfirm() { - this.$refs.dialogClassForm.validate(valid => { - if (valid) { - TCunstomerClassTreeAddUpdate(this.dialogClassForm).then(res => { - if (res.code === '200') { - this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�') - this.dialogClassVisible = false - this.$store.state.app.buttonIsDisabled = false - this.getTCunstomerClassTree() - } else { - this.$store.state.app.buttonIsDisabled = false - this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') - } - }) - } - }) - }, - unittypcodeChange(val) { - console.log(val) - - this.dialogForm.unitcode = '' - this.dialogForm.unitsubcode = '' - this.dialogForm.idSubUnitByReport = '' - this.dialogForm.idUnitByStock = '' - this.dialogForm.idUnitByPurchase = '' - this.dialogForm.idUnitBySale = '' - this.dialogForm.idunitbymanufacture = '' - // this.$refs.dialogForm.clearValidate() - // this.$forceUpdate() - }, - unitcodeChange(val, type) { - console.log(val) - - if (type === '1') { - // this.dialogForm.unitcode = val - this.dialogForm.unitsubcode = '' - this.dialogForm.idSubUnitByReport = '' - - const unitname = this.unitcodeSingleArr.find(i => i.unitcode === val).unitname - - this.dialogForm.idUnitByStock = unitname - this.dialogForm.idUnitByPurchase = unitname - this.dialogForm.idUnitBySale = unitname - this.dialogForm.idunitbymanufacture = unitname } + }) + }, - if (type === '0') { - const t = this.unitcodeGroupArr.find(i => i.unitcode === val).children - - this.idSubUnitByReportArr = t.filter(i => i.isMainUnit !== '1') - this.idUnitBvStockArr = t - - const mainUnitCode = t.find(i => i.isMainUnit === '1').unitcode - this.dialogForm.unitsubcode = mainUnitCode - this.dialogForm.idSubUnitByReport = this.idSubUnitByReportArr[0].unitcode - - this.dialogForm.idUnitByStock = mainUnitCode - this.dialogForm.idUnitByPurchase = mainUnitCode - this.dialogForm.idUnitBySale = mainUnitCode - this.dialogForm.idunitbymanufacture = mainUnitCode - } - }, - // 鍚屾ERP - syncERP() { - const loading = this.$loading({ - lock: true, - text: '姝e湪鍚屾ERP锛岃绋嶇瓑...', - spinner: 'el-icon-loading', - customClass: 'osloading', - background: 'rgba(0, 0, 0, 0.7)' - }) - - SeaveSearchPartner().then(res => { - if (res.code === '200') { - setTimeout(() => { - this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) - this.getTCunstomerClassTree() - loading.close() - this.$notify.success('鍚屾鎴愬姛锛�') - }, 2000) - } - // else if (res.code === '300') { - // setTimeout(() => { - // loading.close() - // this.$message.error('鍚屾澶辫触锛�') - // }, 10000) - // } - }).catch(e => { - loading.close() + // 閫掑綊鍙栧瓙闆嗙殑鎵�鏈塩ode + getChildrenCodeMethod(node, result) { + result.push(node.code) + if (node.children && node.children.length > 0) { + node.children.forEach(i => { + this.getChildrenCodeMethod(i, result) }) } + return result + }, + + treeEditClick(node, data, operation) { + this.dialogClassForm.data_sources = data.data_sources + this.dialogClassForm.customerclasscode = data.code + this.dialogClassForm.customerclassname = data.name.split(' ')[1] + this.dialogClassForm.parentcode = data.idparent === '-1' ? '' : data.idparent + this.dialogClassForm.OperType = 'Update' + this.operation = operation + this.dialogClassVisible = true + }, + treeDeleteClick(node, data) { + this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + const result = this.getChildrenCodeMethod(data, []) + TCunstomerClassTreeDelete({ + customerclasscode: result.join(',') + }).then(res => { + if (res.code === '200') { + this.$notify.success('鍒犻櫎鎴愬姛!') + this.getTCunstomerClassTree() + } + }) + }).catch(() => { + this.$notify.info('宸插彇娑堝垹闄�') + }) + }, + treeAddClick(operation) { + this.operation = operation + this.dialogClassVisible = true + this.dialogClassForm.OperType = 'Add' + this.dialogClassForm.data_sources = 'MES' + }, + + handleClassClose() { + this.dialogClassForm.data_sources = '' + this.dialogClassForm.customerclasscode = '' + this.dialogClassForm.customerclassname = '' + this.dialogClassForm.parentcode = '' + this.dialogClassForm.OperType = '' + this.$refs.dialogClassForm.clearValidate() + }, + dialogVisibleClassCancel() { + this.dialogClassVisible = false + }, + dialogVisibleClassConfirm() { + this.$refs.dialogClassForm.validate(valid => { + if (valid) { + TCunstomerClassTreeAddUpdate(this.dialogClassForm).then(res => { + if (res.code === '200') { + this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�') + this.dialogClassVisible = false + this.$store.state.app.buttonIsDisabled = false + this.getTCunstomerClassTree() + } else { + this.$store.state.app.buttonIsDisabled = false + this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') + } + }) + } + }) + }, + unittypcodeChange(val) { + console.log(val) + + this.dialogForm.unitcode = '' + this.dialogForm.unitsubcode = '' + this.dialogForm.idSubUnitByReport = '' + this.dialogForm.idUnitByStock = '' + this.dialogForm.idUnitByPurchase = '' + this.dialogForm.idUnitBySale = '' + this.dialogForm.idunitbymanufacture = '' + // this.$refs.dialogForm.clearValidate() + // this.$forceUpdate() + }, + unitcodeChange(val, type) { + console.log(val) + + if (type === '1') { + // this.dialogForm.unitcode = val + this.dialogForm.unitsubcode = '' + this.dialogForm.idSubUnitByReport = '' + + const unitname = this.unitcodeSingleArr.find(i => i.unitcode === val).unitname + + this.dialogForm.idUnitByStock = unitname + this.dialogForm.idUnitByPurchase = unitname + this.dialogForm.idUnitBySale = unitname + this.dialogForm.idunitbymanufacture = unitname + } + + if (type === '0') { + const t = this.unitcodeGroupArr.find(i => i.unitcode === val).children + + this.idSubUnitByReportArr = t.filter(i => i.isMainUnit !== '1') + this.idUnitBvStockArr = t + + const mainUnitCode = t.find(i => i.isMainUnit === '1').unitcode + this.dialogForm.unitsubcode = mainUnitCode + this.dialogForm.idSubUnitByReport = this.idSubUnitByReportArr[0].unitcode + + this.dialogForm.idUnitByStock = mainUnitCode + this.dialogForm.idUnitByPurchase = mainUnitCode + this.dialogForm.idUnitBySale = mainUnitCode + this.dialogForm.idunitbymanufacture = mainUnitCode + } + }, + // 鍚屾ERP + syncERP() { + const loading = this.$loading({ + lock: true, + text: '姝e湪鍚屾ERP锛岃绋嶇瓑...', + spinner: 'el-icon-loading', + customClass: 'osloading', + background: 'rgba(0, 0, 0, 0.7)' + }) + + SeaveSearchPartner().then(res => { + if (res.code === '200') { + setTimeout(() => { + this.getTCunstomerData(this.$refs.treeLeftRef.getCurrentNode()) + this.getTCunstomerClassTree() + loading.close() + this.$notify.success('鍚屾鎴愬姛锛�') + }, 2000) + } + // else if (res.code === '300') { + // setTimeout(() => { + // loading.close() + // this.$message.error('鍚屾澶辫触锛�') + // }, 10000) + // } + }).catch(e => { + loading.close() + }) } } +} </script> <style scoped lang="scss"> -- Gitblit v1.9.3