From d60f2ca80ddbe1846fb7ad9fd1f1e2fb01c372fe Mon Sep 17 00:00:00 2001 From: 黄何裕 <1053952480@qq.com> Date: 星期一, 22 七月 2024 09:20:27 +0800 Subject: [PATCH] 处理工单下发代码冲突 --- src/views/system/work-order/distribute/index.vue | 43 +++++++--- src/components/ThemePicker/index.vue | 2 src/layout/components/Settings/index.vue | 20 ++-- src/store/modules/settings.js | 4 src/views/system/work-order/index.vue | 141 ++++++++++++++++++---------------- 5 files changed, 118 insertions(+), 92 deletions(-) diff --git a/src/components/ThemePicker/index.vue b/src/components/ThemePicker/index.vue index 1714e1f..c6d8934 100644 --- a/src/components/ThemePicker/index.vue +++ b/src/components/ThemePicker/index.vue @@ -15,7 +15,7 @@ data() { return { chalk: '', // content of theme-chalk css - theme: '' + theme: "#409EFF" } }, computed: { diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue index bb3c9ce..3571a16 100644 --- a/src/layout/components/Settings/index.vue +++ b/src/layout/components/Settings/index.vue @@ -7,16 +7,16 @@ <h3 class="drawer-title">涓婚椋庢牸璁剧疆</h3> </div> <div class="setting-drawer-block-checbox"> - <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-dark')"> - <img src="@/assets/images/dark.svg" alt="dark"> - <div v-if="sideTheme === 'theme-dark'" class="setting-drawer-block-checbox-selectIcon" style="display: block;"> - <i aria-label="鍥炬爣: check" class="anticon anticon-check"> - <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true" focusable="false" class=""> - <path d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/> - </svg> - </i> - </div> - </div> +<!-- <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-dark')">--> +<!-- <img src="@/assets/images/dark.svg" alt="dark">--> +<!-- <div v-if="sideTheme === 'theme-dark'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">--> +<!-- <i aria-label="鍥炬爣: check" class="anticon anticon-check">--> +<!-- <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true" focusable="false" class="">--> +<!-- <path d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/>--> +<!-- </svg>--> +<!-- </i>--> +<!-- </div>--> +<!-- </div>--> <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-light')"> <img src="@/assets/images/light.svg" alt="light"> <div v-if="sideTheme === 'theme-light'" class="setting-drawer-block-checbox-selectIcon" style="display: block;"> diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js index 2455a1e..5963b15 100644 --- a/src/store/modules/settings.js +++ b/src/store/modules/settings.js @@ -5,8 +5,8 @@ const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || '' const state = { title: '', - theme: storageSetting.theme || '#409EFF', - sideTheme: storageSetting.sideTheme || sideTheme, + theme: '#409EFF', + sideTheme: "#409EFF", showSettings: showSettings, topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav, tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView, diff --git a/src/views/system/work-order/distribute/index.vue b/src/views/system/work-order/distribute/index.vue index 4113958..de61087 100644 --- a/src/views/system/work-order/distribute/index.vue +++ b/src/views/system/work-order/distribute/index.vue @@ -13,9 +13,31 @@ </el-col> </el-row> - <el-row class="op-warp" type="flex" justify="left" > - <el-col :span="24"> - <el-button size="mini" type="primary" @click="selectedDistribute" class="op">涓嬪彂閫変腑宸ュ崟</el-button> + <el-row class="op-warp"> + <el-row v-show="showSearch"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> + <el-form-item label="鍏抽敭璇�" prop="keyword"> + <el-input + v-model="queryParams.menuName" + placeholder="鍏抽敭璇嶆悳绱�" + clearable + @keyup.enter.native="page" + /> + </el-form-item> + <el-form-item label="涓嬪彂鐘舵��" prop="status"> + <el-select v-model="queryParams.status" placeholder="涓嬪彂鐘舵��" clearable> + <el-option label="鏈笅鍙�" value="WAIT_DISTRIBUTE"/> + <el-option label="宸蹭笅鍙�" value="DISTRIBUTED"/> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="small" @click="page">鎼滅储</el-button> + </el-form-item> + </el-form> + </el-row> + + <el-row> + <el-button size="small" type="info" @click="selectedDistribute" class="op">涓嬪彂閫変腑宸ュ崟</el-button> <el-popconfirm @confirm="allDistribute" title="纭畾瑕佷笅鍙戞墍鏈夊伐鍗曞悧锛�" @@ -64,15 +86,9 @@ </el-form> <el-button slot="reference" type="primary" size="mini">蹇嵎涓嬪彂</el-button> </el-popover> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - >鎵嬪姩鏂板宸ュ崟</el-button> - <el-button icon="el-icon-refresh" circle @click="page"></el-button> - </el-col> + <el-button size="small" type="success" @click="handleAdd">鎵嬪姩鏂板宸ュ崟</el-button> + <right-toolbar :showSearch.sync="showSearch" @queryTable="page"></right-toolbar> + </el-row> </el-row> <el-row class="content-warp" type="flex" justify="left"> @@ -153,6 +169,7 @@ name: 'index', data() { return { + showSearch: true, selectedIdsDistributeForm: { ids: [], unitId: null @@ -207,6 +224,8 @@ }, queryParams: { unitId: null, + keyword: '', + status: 'WAIT_DISTRIBUTE', pageNum: 1, pageSize: 10, }, diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue index 64d5232..7e250c5 100644 --- a/src/views/system/work-order/index.vue +++ b/src/views/system/work-order/index.vue @@ -1,6 +1,6 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form-item label="宸ュ崟鍙�" prop="workOrderNo"> <el-input v-model="queryParams.workOrderNo" @@ -12,13 +12,13 @@ </el-form-item> <el-form-item label="鏁呴殰绫诲瀷" prop="workOrderNo"> <el-select v-model="queryParams.errorType" placeholder="鏁呴殰绫诲瀷" clearable @clear="handleQuery"> - <el-option v-for="item, index in errorTypeOptions" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option> + <el-option v-for="(item, index) in errorTypeOptions" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option> </el-select> </el-form-item> - <el-form-item label="瀹℃牳鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="瀹℃牳鐘舵��" @change="handleQuery"> - <el-option label="宸蹭笅鍙�" value="DISTRIBUTED"></el-option> - <el-option label="杩愮淮宸插鐞�" value="YW_HANDLE"></el-option> + <el-form-item label="宸ュ崟鐘舵��" prop="status"> + <el-select v-model="queryParams.status" placeholder="宸ュ崟鐘舵��" @change="handleQuery"> + <el-option label="寰呭鐞�" value="DISTRIBUTED"></el-option> + <el-option label="寰呭鏍�" value="YW_HANDLE"></el-option> <el-option label="瀹℃牳閫氳繃" value="AUDITING_SUCCESS"></el-option> <el-option label="瀹℃牳涓嶉�氳繃" value="AUDITING_FAIL"></el-option> </el-select> @@ -79,7 +79,6 @@ size="mini" type="text" @click="handleAuditing(item)" - v-hasPermi="['work:order:audit']" >瀹℃牳</el-button> <el-button size="mini" @@ -140,33 +139,37 @@ </div> </el-dialog> - <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="500px" append-to-body> - <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px"> - <el-form-item label="宸ュ崟鍙�" prop="workOrderNo"> - <el-input v-model="auditingForm.workOrderNo" disabled /> - </el-form-item> - <el-form-item label="杩愮淮鍗曚綅" prop="unitName"> - <el-input v-model="auditingForm.unitName" disabled /> - </el-form-item> - <el-form-item label="杩愮淮浜哄憳" prop="ywPeopleName"> - <el-input v-model="auditingForm.ywPeopleName" disabled /> - </el-form-item> - <div v-for="obj, index in ywConditions" :key="index"> - <el-form-item :label="'鐜板満鎯呭喌' + (index + 1)" v-if="obj.ywCondition"> - <span v-html="obj.ywCondition"></span> - </el-form-item> - <el-form-item label="浣愯瘉鏉愭枡" v-if="obj.ywProofMaterials"> - <el-link v-for="item in obj.ywProofMaterials != null ? obj.ywProofMaterials.split(',') : obj.ywProofMaterials" :underline="false" :key="item.id" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link> - </el-form-item> - </div> - <el-form-item label="瀹℃牳缁撴灉" prop="auditingResult"> - <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">閫氳繃</el-radio> - <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">椹冲洖</el-radio> - </el-form-item> - <el-form-item label="瀹℃牳澶囨敞" prop="auditingRemark"> - <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/> - </el-form-item> - </el-form> + <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body> + <el-row :gutter="20"> + <el-col :span="10"> + <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px"> + <el-form-item label="宸ュ崟鍙�" prop="workOrderNo"> + <el-input v-model="auditingForm.workOrderNo" disabled /> + </el-form-item> + <el-form-item label="杩愮淮鍗曚綅" prop="unitName"> + <el-input v-model="auditingForm.unitName" disabled /> + </el-form-item> + <el-form-item label="瀹℃牳缁撴灉" prop="auditingResult"> + <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">閫氳繃</el-radio> + <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">椹冲洖</el-radio> + </el-form-item> + <el-form-item label="瀹℃牳澶囨敞" prop="auditingRemark"> + <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/> + </el-form-item> + </el-form> + </el-col> + <el-col :span="14" style="max-height: 500px; overflow-y: scroll"> + <el-timeline> + <el-timeline-item v-for="(condition, index) in ywConditions" :key="index" :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top"> + <el-card> + <div v-html="condition.ywCondition"></div> + <el-link type="primary" v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials" :underline="false" :key="item.id" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link> + </el-card> + </el-timeline-item> + </el-timeline> + </el-col> + </el-row> + <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitAuditing">纭� 瀹�</el-button> <el-button @click="cancelAuditing">鍙� 娑�</el-button> @@ -242,46 +245,50 @@ </el-step> <el-step title="杩愮淮澶勭悊"> <template slot="description"> - <div class="y-item" v-for="(item, index) in ywHandleList" :key="index"> - <div class="y-item-1"> - <div class="flow-item-x"> - 鐜板満鎯呭喌锛� - <!-- <el-tooltip class="item" effect="dark" :content="item.ywCondition" placement="top"> --> - <span v-html="item.ywCondition"></span> - <!-- </el-tooltip> --> + <div style="max-height: 450px;overflow-y: scroll"> + <div class="y-item" v-for="(item, index) in ywHandleList" :key="index"> + <div class="y-item-1"> + <div class="flow-item-x"> + 鐜板満鎯呭喌锛� + <!-- <el-tooltip class="item" effect="dark" :content="item.ywCondition" placement="top"> --> + <span v-html="item.ywCondition"></span> + <!-- </el-tooltip> --> + </div> + <!-- <div class="flow-item-x"> + <el-tag size="small" v-for="file in item.ywProofMaterials != null ? item.ywProofMaterials.split(',') : item.ywProofMaterials" :key="file" @click="handleDownload(file)">{{ file.substring(file.lastIndexOf("/") + 1) }}</el-tag> + </div> --> </div> - <!-- <div class="flow-item-x"> - <el-tag size="small" v-for="file in item.ywProofMaterials != null ? item.ywProofMaterials.split(',') : item.ywProofMaterials" :key="file" @click="handleDownload(file)">{{ file.substring(file.lastIndexOf("/") + 1) }}</el-tag> - </div> --> - </div> - <div class="y-item-2"> - <div > - {{ parseTime(item.createTime) }} - </div> - <div > - 绗瑊{ index + 1 }}娆� + <div class="y-item-2"> + <div > + {{ parseTime(item.createTime) }} + </div> + <div > + 绗瑊{ index + 1 }}娆� + </div> </div> </div> </div> </template> </el-step> - <el-step title="缁撴灉瀹℃牳"> + <el-step title="瀹℃牳缁撴灉"> <template slot="description"> - <div class="y-item" v-for="(item, index) in ywAuditingList" :key="index"> - <div class="y-item-1"> - <div class="flow-item-x"> - 瀹℃牳缁撴灉锛�<el-tag :type="item.result == '瀹℃牳閫氳繃' ? 'success' : 'danger'" size="small">{{ item.result }}</el-tag> + <div style="max-height: 450px;overflow-y: scroll"> + <div class="y-item" v-for="(item, index) in ywAuditingList" :key="index"> + <div class="y-item-1"> + <div class="flow-item-x"> + 瀹℃牳缁撴灉锛�<el-tag :type="item.result == '瀹℃牳閫氳繃' ? 'success' : 'danger'" size="small">{{ item.result }}</el-tag> + </div> + <div class="flow-item-x"> + 瀹℃牳璇存槑锛�<span v-html="item.remark"></span> + </div> </div> - <div class="flow-item-x"> - 瀹℃牳璇存槑锛�<span v-html="item.remark"></span> - </div> - </div> - <div class="y-item-2"> - <div > - {{ parseTime(item.createTime) }} - </div> - <div > - 绗瑊{ index + 1 }}娆� + <div class="y-item-2"> + <div > + {{ parseTime(item.createTime) }} + </div> + <div > + 绗瑊{ index + 1 }}娆� + </div> </div> </div> </div> @@ -508,7 +515,7 @@ this.ywAuditingList = response.data; } }); - getYwConditionList(row.id).then(response => { + getYwCondition(row.id).then(response => { if (response.data) { this.ywHandleList = response.data; } -- Gitblit v1.8.0