From 9bb18084093bdc0dabb614420d09e54c710d9b46 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期二, 28 十一月 2023 14:34:45 +0800
Subject: [PATCH] feat: 出入库明细对接
---
admin-web/src/views/stock/procure/purchaseOrder/index.vue | 2
admin-web/src/views/departmentitem/itemret/returnNote/index.vue | 2
admin-web/src/views/stock/transfer/transferissue/index.vue | 2
admin-web/src/utils/settingIplatform.js | 22 ---
admin-web/src/views/stock/transfer/transferApplication/index.vue | 2
/dev/null | 45 ---------
admin-web/src/views/stock/procure/purchaseOrder/edit.vue | 6 -
admin-web/src/utils/stockType.js | 2
admin-web/public/index.html | 3
admin-web/src/views/departmentitem/itemscr/scrapping/index.vue | 2
admin-web/src/views/stock/accessStock/outbound/index.vue | 71 +++++++------
admin-web/src/views/stock/scrap/itemScrapping/index.vue | 2
admin-web/src/components/mySearch/SearchItem.vue | 13 +
admin-web/src/views/stock/accessStock/outboundDetails/index.vue | 86 ++++++++++++----
admin-web/src/views/departmentitem/itemdis/distribution/index.vue | 2
admin-web/public/static/config.js | 17 ---
16 files changed, 123 insertions(+), 156 deletions(-)
diff --git a/admin-web/public/index.html b/admin-web/public/index.html
index 729a200..1172a30 100644
--- a/admin-web/public/index.html
+++ b/admin-web/public/index.html
@@ -11,11 +11,10 @@
<title><%= webpackConfig.name %></title>
</head>
<body>
+ <script type="text/javascript" src="<%= BASE_URL %>static/config.js"></script>
<script src="<%= BASE_URL %>static/tinymce4.7.5/tinymce.min.js"></script>
<script src="<%= BASE_URL %>static/js/jquery.min.js"></script>
<script src="<%= BASE_URL %>static/js/reconnecting-websocket.js"></script>
- <script src="<%= BASE_URL %>static/js/niuniucapture.js"></script>
- <script src="<%= BASE_URL %>static/js/capturewrapper.js"></script>
<script src="https://map.qq.com/api/gljs?v=1.exp&key=PGNBZ-XZ7C3-MPE34-OF2VP-7MRH6-BOFUG"></script>
<div id="app"></div>
<!-- built files will be auto injected -->
diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js
index 78c156c..2595dcf 100644
--- a/admin-web/public/static/config.js
+++ b/admin-web/public/static/config.js
@@ -1,25 +1,12 @@
-// 璇锋眰鎺ュ彛鍦板潃 濡傛灉娌℃湁閰嶇疆鑷姩鑾峰彇褰撳墠缃戝潃璺緞
-const VUE_APP_API_URL = process.env.VUE_APP_BASE_API || `${location.origin}`;
-const VUE_APP_WS_URL =
- process.env.VUE_APP_WS_URL || (location.protocol === 'https' ? 'wss' : 'ws') + ':' + location.hostname;
-
const SettingIplatform = {
// 鏈嶅姟鍣ㄥ湴鍧�
- // 鏈嶅姟鍣ㄥ湴鍧�
- httpUrl: VUE_APP_API_URL,
// 涓婁紶璺緞
ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
- // ftpUrl:'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
-// 鎺ュ彛璇锋眰鍦板潃
-// apiBaseURL: 'http://116.198.39.83:8082/progress', // 姝e紡
- // apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
+ // 鎺ュ彛璇锋眰鍦板潃
apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙�
// apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
-// apiBaseURL: 'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
- // socket杩炴帴
- wsSocketUrl: VUE_APP_WS_URL,
- debug: true //璋冭瘯寮�鍏� true鏃朵細杈撳嚭璇锋眰鏃ュ織
+ debug: false //璋冭瘯寮�鍏� true鏃朵細杈撳嚭璇锋眰鏃ュ織
};
export default SettingIplatform;
diff --git a/admin-web/src/components/mySearch/SearchItem.vue b/admin-web/src/components/mySearch/SearchItem.vue
index fa2580b..1240b54 100644
--- a/admin-web/src/components/mySearch/SearchItem.vue
+++ b/admin-web/src/components/mySearch/SearchItem.vue
@@ -4,7 +4,7 @@
<el-input
:type="item.inputType || 'text'"
v-if="item.type === 'text'"
- :placeholder="item.placeholder || ''"
+ :placeholder="item.placeholder || '璇疯緭鍏�'"
@change="(e) => inputChange(e)"
:clearable="true"
v-model="val"
@@ -15,6 +15,7 @@
<el-cascader
v-model="val"
v-if="item.type === 'cascader'"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
:options="item.options"
:props="item.optionsConfig.props||{ checkStrictly: true,emitPath: false,value: 'id' }"
:show-all-levels="false"
@@ -26,7 +27,7 @@
<!-- 涓嬫媺-->
<el-select
v-if="item.type === 'select'"
- :placeholder="item.placeholder || ''"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
v-model="val"
filterable
:multiple="item.multiple || false"
@@ -54,7 +55,7 @@
<!--鏃堕棿-->
<el-time-select
v-if="item.type === 'time-picker'"
- :placeholder="item.placeholder || ''"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
v-model="val"
:clearable="true"
style="width: 150px"
@@ -66,6 +67,7 @@
v-model="val"
type="year"
:clearable="true"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
style="width: 150px"
:value-format="item.format?item.format:'yyyy'"
@change="(v) => panelChange(v, 'yyyy')"
@@ -76,6 +78,7 @@
v-model="val"
type="month"
:clearable="true"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
style="width: 150px"
:value-format="item.format?item.format:'yyyyMM'"
@change="(v) => panelChange(v, 'yyyy-MM')"
@@ -86,6 +89,7 @@
v-model="val"
type="date"
:clearable="true"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
style="width: 150px"
:value-format="item.format?item.format:'yyyyMMdd'"
@change="(v) => panelChange(v, 'yyyy-MM-dd')"
@@ -96,6 +100,7 @@
v-model="val"
type="datetime"
:clearable="true"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
style="width: 150px"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
@@ -106,7 +111,7 @@
v-if="item.type === 'datetimerange-picker'"
v-model="val"
style="width: 378px"
- :placeholder="item.placeholder || ''"
+ :placeholder="item.placeholder || '璇烽�夋嫨'"
type="datetimerange"
:pickerOptions='pickerOptions'
:disabled="item.disabled"
diff --git a/admin-web/src/utils/settingIplatform.js b/admin-web/src/utils/settingIplatform.js
index 3e3b152..f568428 100644
--- a/admin-web/src/utils/settingIplatform.js
+++ b/admin-web/src/utils/settingIplatform.js
@@ -1,24 +1,10 @@
-// 璇锋眰鎺ュ彛鍦板潃 濡傛灉娌℃湁閰嶇疆鑷姩鑾峰彇褰撳墠缃戝潃璺緞
-const VUE_APP_API_URL = process.env.VUE_APP_BASE_API || `${location.origin}`;
-const VUE_APP_WS_URL =
- process.env.VUE_APP_WS_URL || (location.protocol === 'https' ? 'wss' : 'ws') + ':' + location.hostname;
-
+import config from '../../public/static/config.js'
const SettingIplatform = {
- // 鏈嶅姟鍣ㄥ湴鍧�
- httpUrl: VUE_APP_API_URL,
// 涓婁紶璺緞
- ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
- // ftpUrl:'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
-// 鎺ュ彛璇锋眰鍦板潃
-// apiBaseURL: 'http://116.198.39.83:8082/progress', // 姝e紡
- // apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
- // apiBaseURL: 'http://172.16.60.175:8083/lowConsum',//寮�鍙�
- apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙�
- // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
-// apiBaseURL: 'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
- // socket杩炴帴
- wsSocketUrl: VUE_APP_WS_URL,
+ ftpUrl: config.ftpUrl,
+ // 鎺ュ彛璇锋眰鍦板潃
+ apiBaseURL: config.apiBaseURL,
};
export default SettingIplatform;
diff --git a/admin-web/src/utils/stockType.js b/admin-web/src/utils/stockType.js
index e721978..16a5eef 100644
--- a/admin-web/src/utils/stockType.js
+++ b/admin-web/src/utils/stockType.js
@@ -1,6 +1,6 @@
function stockType(row) {
let result = '';
- let arr = ['閲囪喘鍏ュ簱', '璋冩嫧', '鍏朵粬鍑哄簱', '閮ㄩ棬鍒嗗彂', '鎶ュ簾鍑哄簱', '閮ㄩ棬鐗╁搧鍥為��浠撳簱', '鐗╁搧鐩樼偣'];
+ let arr = ['閲囪喘鍏ュ簱', '璋冩嫧', '鍏朵粬鍑哄簱', '閮ㄩ棬鍒嗗彂', '鎶ュ簾鍑哄簱', '鐗╁搧閫�鍥�', '鐗╁搧鐩樼偣'];
if (row.businessType == 7) {
if (row.thisType == 1) {
result = '鐩樼泩鍏ュ簱';
diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
index d94c697..64cf780 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -13,7 +13,7 @@
<my-button name="鐗╁搧鍒嗗彂" @click="handleAdd" site="tools" size="medium" icon="el-icon-edit-outline" />
<my-button name="瀵煎叆" @click="importSetting.dialogShow = true" site="tools" size="medium" />
</div>
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+ <div :style="{ 'overflow-y': 'auto', height: `calc(100vh - 320px)` }" v-loading="loading">
<el-row v-if="list.length" class="card" :gutter="5">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
index 9c9e512..a910caf 100644
--- a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
+++ b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
@@ -12,7 +12,7 @@
<div class="table-tool-bar" style="margin-bottom: 15px;">
<my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
</div>
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }" v-loading="loading">
<el-row v-if="list.length" class="card" :gutter="5">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
index 77fadac..d5a05bc 100644
--- a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
+++ b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
@@ -12,7 +12,7 @@
<div class="table-tool-bar" style="margin-bottom: 15px;">
<my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
</div>
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }" v-loading="loading">
<el-row v-if="list.length" class="card" :gutter="5">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
diff --git a/admin-web/src/views/projectConfig/buildPlan/detail.vue b/admin-web/src/views/projectConfig/buildPlan/detail.vue
deleted file mode 100644
index e215bb9..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/detail.vue
+++ /dev/null
@@ -1,142 +0,0 @@
-<template>
- <win-lg :title="setting.title" @close="close" :width="'800px'">
- <el-table
- v-loading="loading"
- border
- height="calc(100vh - 400px)"
- :span-method="spanMethod"
- :data="tableData"
- style="width: 100%">
- <el-table-column
- prop="stageName"
- align="center"
- label="闃舵"/>
- <el-table-column
- prop="nodeName"
- align="center"
- label="鑺傜偣"/>
- <el-table-column
- prop="nodeTimeStart"
- align="center"
- label="鑷」鐩紑濮嬬n澶�"
- width="130"/>
- <el-table-column
- prop="nodeTimeDays"
- align="center"
- label="鎸佺画澶╂暟"
- width="80"/>
- <el-table-column
- align="center"
- label="瀹屾垚鍚庢彁閱�"
- width="95">
- <template slot-scope="{row}">
- {{ row.completeNotifyStatus === 1 ? '鏄�' : '鍚�' }}
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="鎻愰啋鑺傜偣"
- width="240">
- <template slot-scope="{row,$index}">
- <div>闃舵锛歿{ row.notifyStage.join("銆�") }}</div>
- <div>鑺傜偣锛歿{ row.notifyNode.join("銆�") }}</div>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="涓存湡棰勮"
- width="80">
- <template slot-scope="{row}">
- {{ row.warnNeed === 1 ? '鏄�' : '鍚�' }}
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="闄勪欢蹇呬紶"
- width="80">
- <template slot-scope="{row}">
- {{ row.fileNeed === 1 ? '鏄�' : '鍚�' }}
- </template>
- </el-table-column>
- </el-table>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- </div>
- </win-lg>
-</template>
-
-<script>
-import winLg from '@/components/win/win-lg'
-import {getStageNode} from "@/api/projectConfig/buildPlanNode";
-import myButton from "@/components/myButton/myButton";
-
-export default {
- name: 'detail',
- components: {winLg, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- tableData: [],
- spanArr: [],
- pos: 0
- }
- },
- mounted() {
- this.loading = true
- getStageNode({id: this.setting.id}).then(res => {
- this.loading = false
- this.tableData = res
- this.getSpanArr(res)
- }).catch(() => {
- this.loading = false
- })
- },
- methods: {
- close() {
- this.$emit('close')
- },
- spanMethod({row, column, rowIndex, columnIndex}) {
- if (columnIndex === 0) {
- const rowspan = this.spanArr[rowIndex]
- const colspan = rowspan > 0 ? 1 : 0
- return {
- rowspan, //琛�
- colspan //鍒�
- };
- }
- },
- getSpanArr(data) {
- this.spanArr = [];
- for (let i = 0; i < data.length; i++) {
- if (i === 0) {
- this.spanArr.push(1);
- this.pos = 0;
- } else {
- // 鍒ゆ柇褰撳墠鍏冪礌涓庝笂涓�涓厓绱犳槸鍚︾浉鍚�
- if (data[i].id === data[i - 1].id && data[i].id) {
- this.spanArr[this.pos] += 1;
- this.spanArr.push(0);
- } else {
- this.spanArr.push(1);
- this.pos = i;
- }
- }
- }
- },
- }
-}
-</script>
-
-<style scoped>
-
-</style>
diff --git a/admin-web/src/views/projectConfig/buildPlan/edit.vue b/admin-web/src/views/projectConfig/buildPlan/edit.vue
deleted file mode 100644
index 6087c95..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/edit.vue
+++ /dev/null
@@ -1,143 +0,0 @@
-<template>
- <win-sm :title="setting.title" @close="close" :width="'800px'">
- <el-form v-loading="loading" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
- <el-form-item label="璁″垝绫诲瀷" prop="planTypeCode">
- <el-select v-model="formData.planTypeCode" placeholder="" clearable style="width: 100%">
- <el-option
- v-for="item in options"
- :key="item.dict_code"
- :label="item.dict_label"
- :value="item.dict_code">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="璁″垝鍚嶇О" prop="projectName">
- <el-input v-model="formData.projectName" placeholder="" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>
- <el-form-item label="缂栧彿" prop="projectCode">
- <el-input v-model="formData.projectCode" placeholder="" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-radio-group v-model="formData.status">
- <el-radio :label="1" border>鍚敤</el-radio>
- <el-radio :label="0" border>绂佺敤</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input
- v-model="formData.remark"
- type="textarea"
- :rows="3"
- maxlength="200"
- show-word-limit
- />
- </el-form-item>
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-sm>
-</template>
-
-<script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as api from "@/api/projectConfig/buildPlan";
-import {getDicts} from "@/api/system/dict/data";
-
-export default {
- name: 'edit',
- components: {winSm, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- options: [],
- formData: {
- planTypeCode: '',
- projectName: '',
- projectCode: '',
- status: 1,
- remark: '',
- },
- rules: {
- planTypeCode: [
- {required: true, message: '璇烽�夋嫨璁″垝绫诲瀷', trigger: 'blur'},
- ],
- projectName: [
- {required: true, message: '璇疯緭鍏ヨ鍒掑悕绉�', trigger: 'blur'},
- ],
- projectCode: [
- {required: true, message: '璇疯緭鍏ョ紪鍙�', trigger: 'blur'},
- ]
- }
- }
- },
- created() {
- this.loading = true
- this.getInfo()
- this.getPlanType()
- },
- methods: {
- getPlanType() {
- getDicts('PLAN_TYPE').then(res => {
- this.options = res
- })
- },
- getInfo() {
- this.title = this.setting.title
- if (this.setting.id != null) {
- // 鏌ヨ鏁版嵁
- api.getDetail({id: this.setting.id}).then(res => {
- this.loading = false
- this.formData = Object.assign(this.formData, res)
- })
- }else{
- this.loading = false
- }
- },
- close() {
- this.formData = {
- planTypeCode: '',
- projectName: '',
- projectCode: '',
- status: 1,
- remark: '',
- }
- this.$emit('close')
- },
- save() {
- this.$refs.ruleForm.validate((valid) => {
- if (valid) {
- const params = Object.assign({}, this.formData)
- this.loading = true
- api[params.id?'upd':'add'](params).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(()=>{
- this.loading = false
- })
- } else {
- this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
- }
- })
- }
- }
-}
-</script>
diff --git a/admin-web/src/views/projectConfig/buildPlan/index.vue b/admin-web/src/views/projectConfig/buildPlan/index.vue
deleted file mode 100644
index 31c9c5d..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/index.vue
+++ /dev/null
@@ -1,210 +0,0 @@
-<template>
- <div class="app-container">
- <el-card class="box-card" shadow="never">
- <div class="filter-container" style="margin-bottom: 10px">
- <my-search ref="searchBar" :items="items" @search="filterForm"></my-search>
- </div>
- <!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
- </el-card>
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"></edit>
- <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false" @search="search"></detail>
- <nodeChoose v-if="nodeSetting.show" :setting="nodeSetting" @close="nodeSetting.show = false" @search="search"></nodeChoose>
- </div>
-</template>
-
-<script>
-import MyTableV2 from '@/components/myTable/myTableV2';
-import SettingIplatform from '@/utils/settingIplatform';
-import items from './items';
-import edit from './edit'
-import detail from "@/views/projectConfig/buildPlan/detail";
-import nodeChoose from './nodeChoose/index'
-import {del, updStatus} from "@/api/projectConfig/buildPlan";
-
-export default {
- components: {MyTableV2, edit,detail,nodeChoose},
- data() {
- return {
- // 鎼滅储鏉′欢
- items: items,
- filterFrom: {
- projectName: '',
- projectCode: '',
- planTypeCode: '',
- status: '1',
- },
- //鏂板缂栬緫
- editSetting: {
- title: '',
- id: '',
- show: false,
- },
- //璇︽儏
- detailSetting: {
- title: '闃舵鑺傜偣棰勮',
- id: '',
- show: false,
- },
- //鑺傜偣璁剧疆
- nodeSetting: {
- title: '鑺傜偣閫夋嫨',
- stageId: '',
- show: false,
- },
- // 琛ㄦ牸鏁版嵁
- table: {
- showIndex: true, // 鏄惁鏄剧ず搴忓彿
- expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/p/temp/project/list', // 璇锋眰鍦板潃
- // 宸ュ叿鏉�
- tools: {
- columnsCtrl: {
- // 鍒楁帶鍒舵寜閽�
- show: false,
- },
- generalExport: {
- // 閫氱敤瀵煎嚭鎸夐挳
- show: false,
- },
- // 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [
- {
- name: '鏂板',
- click: () => {
- this.showAdd(null);
- },
- },
- ],
- },
- // 鍒椾俊鎭�
- columns: [
- {
- title: '妯℃澘鍚嶇О', field: 'projectName', align: 'left',
- formatter: (row) => {
- return {
- value: row.projectName,
- type: 'primary',
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.shoDetail(row.id);
- },
- }
- }
- },
- {title: '缂栧彿', field: 'projectCode', align: 'left', width: 200},
- {title: '璁″垝绫诲瀷', field: 'planTypeName', align: 'left', width: 300},
- {
- field: 'status',
- title: '鐘舵��',
- align: 'center',
- width: 80,
- switch: (row) => {
- return {
- value: row.status === 1, // 寮�
- label: row.status === 1 ? '鍚敤' : '绂佺敤', // 寮�鐨勬弿杩�
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.updState(row);
- },
- };
- },
- },
- ],
- // 鎿嶄綔淇℃伅
- operation: {
- show: true, // 鏄剧ず鎿嶄綔鍒�
- width: '200', // 鍒楀
- attr: [
- {
- title: '缂栬緫',
- events: (row) => {
- this.showAdd(row.id);
- },
- },
- {
- title: '鑺傜偣閫夋嫨',
- type: 'success',
- events: (row) => {
- this.showNode(row.id);
- },
- },
- ],
- },
- paging: {
- show: false, // 鏄剧ず鍒嗛〉
- // 鍒嗛〉淇℃伅
- page: {
- small: false,
- pageNum: 1,
- pageSize: 10,
- total: 0,
- },
- },
- },
- };
- },
- mounted() {
- },
- methods: {
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
- } else {
- this.$refs.myTable.search();
- }
- },
- filterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params);
- this.search();
- },
- //娣诲姞銆佺紪杈�
- showAdd(id) {
- let title = '娣诲姞';
- if (id != null) {
- title = '缂栬緫';
- }
- this.editSetting.id = id;
- this.editSetting.title = title;
- this.editSetting.show = true;
- },
- updState(row) {
- let text = row.status === 0 ? "鍚敤" : "绂佺敤";
- this.$modal.confirm('纭瑕�' + text + '"' + row.projectName + '"鍚楋紵').then(() => {
- let status = row.status === 1 ? 0 : 1
- updStatus({
- id: row.id,
- status
- }).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- this.$modal.msgSuccess(text + "鎴愬姛");
- }
- })
- })
- },
- showNode(id) {
- this.nodeSetting.stageId = id;
- this.nodeSetting.show = true;
- },
- shoDetail(id) {
- this.detailSetting.id = id;
- this.detailSetting.show = true;
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- this.$confirm('鏄惁纭鍒犻櫎"' + row.stageName + '"闃舵锛�', {
- type: 'warning'
- }).then(() => {
- del({id: row.id}).then(res => {
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- this.search()
- })
- })
- },
- },
-};
-</script>
-
-<style scoped></style>
diff --git a/admin-web/src/views/projectConfig/buildPlan/items.js b/admin-web/src/views/projectConfig/buildPlan/items.js
deleted file mode 100644
index 2b060c9..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/items.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import SettingIplatform from "@/utils/settingIplatform";
-
-export default [
- {
- type: 'text',
- dataIndex: 'projectName',
- label: '妯℃澘鍚嶇О',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- {
- type: 'text',
- dataIndex: 'projectCode',
- label: '妯℃澘缂栧彿',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- {
- type: 'select',
- dataIndex: 'planTypeCode',
- label: '璁″垝绫诲瀷',
- placeholder: '璇烽�夋嫨',
- defaultValue: '',
- options: [],
- optionsConfig: {
- label: 'dict_label',
- value: 'dict_code',
- url: SettingIplatform.apiBaseURL + '/permit/dict/data/type/PLAN_TYPE'
- }
- },
- {
- type: 'select',
- dataIndex: 'status',
- label: '鐘舵��',
- placeholder: '璇烽�夋嫨',
- defaultValue: '1',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
- }
-]
diff --git a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/edit.vue b/admin-web/src/views/projectConfig/buildPlan/nodeChoose/edit.vue
deleted file mode 100644
index 836143c..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/edit.vue
+++ /dev/null
@@ -1,117 +0,0 @@
-<template>
- <win-sm :title="setting.title" @close="close" :width="'800px'">
- <el-form v-loading="loading" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
- <el-form-item label="闃舵鍚嶇О" prop="nodeName">
- <el-input v-model="formData.nodeName" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>
- <el-form-item label="灞曠ず椤哄簭" prop="sort">
- <el-input-number v-model="formData.sort" clearable :min="1"/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-radio-group v-model="formData.status">
- <el-radio :label="1" border>鍚敤</el-radio>
- <el-radio :label="0" border>绂佺敤</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input
- v-model="formData.remark"
- type="textarea"
- :rows="3"
- maxlength="200"
- show-word-limit
- />
- </el-form-item>
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-sm>
-</template>
-
-<script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as node from "@/api/projectConfig/stageNode";
-
-export default {
- name: 'edit',
- components: {winSm, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- formData: {
- nodeName: '',
- sort: 1,
- status: 1,
- remark: '',
- },
- rules: {
- nodeName: [
- {required: true, message: '璇疯緭鍏ヨ妭鐐瑰悕绉�', trigger: 'blur'}
- ],
- }
- }
- },
- created() {
- this.loading = true
- this.getInfo()
- },
- methods: {
- getInfo() {
- this.title = this.setting.title
- if (this.setting.id != null) {
- // 鏌ヨ鏁版嵁
- node.getDetail({id: this.setting.id}).then(res => {
- this.loading = false
- this.formData = Object.assign(this.formData, res)
- })
- }else{
- this.loading = false
- }
- },
- close() {
- this.formData = {
- nodeName: '',
- sort: 1,
- status: 1,
- remark: '',
- }
- this.$emit('close')
- },
- save() {
- this.$refs.ruleForm.validate((valid) => {
- if (valid) {
- const params = Object.assign({}, this.formData)
- this.loading = true
- node[params.id?'upd':'add'](params).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(()=>{
- this.loading = false
- })
- } else {
- this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
- }
- })
- }
- }
-}
-</script>
diff --git a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/index.vue b/admin-web/src/views/projectConfig/buildPlan/nodeChoose/index.vue
deleted file mode 100644
index ef976e8..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/index.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-<template>
- <win-lg :title="setting.title" @close="close" :width="'800px'">
- <el-tabs v-loading="loading" v-model="activeName" :before-leave="beforeLeave">
- <el-tab-pane label="閫夋嫨鑺傜偣" name="first">
- <div class="box">
- <stageNode :tempProjectId="setting.stageId" ref="stageNode"></stageNode>
- </div>
- </el-tab-pane>
- <el-tab-pane label="鑺傜偣鍛ㄦ湡璁剧疆" name="second">
- <div class="box">
- <nodeCycle ref="nodeCycle"/>
- </div>
- </el-tab-pane>
- <el-tab-pane label="棰勮" name="third">
- <div class="box">
- <preview ref="preview" :tempProjectStages="tempProjectStages"/>
- </div>
- </el-tab-pane>
- </el-tabs>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <template v-if="activeName === 'first'">
- <my-button key="4" name="涓嬩竴姝�" type="primary" site="form" @click="activeName = 'second'"/>
- </template>
- <my-button v-if="activeName === 'second'" key="1" name="涓婁竴姝�" type="primary" site="form" @click="activeName = 'first'"/>
- <my-button v-if="activeName === 'second'" key="2" name="淇濆瓨" site="form" @click="doSave" />
- <my-button @click="activeName='third'" v-if="activeName === 'second'" key="3" name="棰勮" type="warning" site="form"/>
- <my-button v-if="activeName === 'third'" name="杩斿洖" site="form" @click="activeName='second'"/>
- </div>
- </win-lg>
-</template>
-
-<script>
-import winLg from '@/components/win/win-lg'
-import myButton from '@/components/myButton/myButton'
-import stageNode from "@/views/projectConfig/buildPlan/nodeChoose/stageNode";
-import nodeCycle from "@/views/projectConfig/buildPlan/nodeChoose/nodeCycle";
-import preview from "@/views/projectConfig/buildPlan/nodeChoose/preview";
-import {updPStageNode} from '@/api/projectConfig/buildPlanNode'
-export default {
- name: 'nodeChoose',
- components: {winLg, myButton,stageNode,nodeCycle,preview},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- activeName: 'first',
- tempProjectStages: []
- };
- },
- mounted() {
- },
- methods: {
- doSave(){
- console.log(this.$refs.nodeCycle.getSelectTree())
- this.loading = true
- updPStageNode({
- tempProjectId:this.setting.stageId,
- tempProjectStages:this.$refs.nodeCycle.getSelectTree()
- }).then(res=>{
- this.loading = false
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- }).catch(()=>{
- this.loading = false
- })
- },
- close() {
- this.$emit('close')
- },
- beforeLeave(activeName, oldActiveName) {
- let checked = this.$refs.stageNode.tree.some(item=>item.checked)
- if(activeName==='second'&&checked){
- this.$refs.stageNode.setNodeCycleData()
- }
- if(activeName==='third'&&checked){
- this.$EventBus.$emit('clearData')
- this.tempProjectStages = this.$refs.nodeCycle.getSelectTree()
- }
- if(activeName!=='first'&&!checked){
- this.$modal.msgError('璇峰厛閫夋嫨闃舵鑺傜偣')
- this.activeName = oldActiveName
- }
- return checked
- // return false
- },
- },
-};
-</script>
-
-<style scoped>
-.box {
- height: calc(100vh - 450px);
- overflow-y: auto;
-}
-</style>
diff --git a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/items.js b/admin-web/src/views/projectConfig/buildPlan/nodeChoose/items.js
deleted file mode 100644
index cd07526..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/items.js
+++ /dev/null
@@ -1,26 +0,0 @@
-export default [
- {
- type: 'text',
- dataIndex: 'nodeName',
- label: '鑺傜偣鍚嶇О',
- placeholder: '鑺傜偣鍚嶇О',
- defaultValue: ''
- },
- {
- type: 'select',
- dataIndex: 'status',
- label: '鐘舵��',
- placeholder: '璇烽�夋嫨',
- defaultValue: '',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
- }
-]
diff --git a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/nodeCycle.vue b/admin-web/src/views/projectConfig/buildPlan/nodeChoose/nodeCycle.vue
deleted file mode 100644
index 601d0fe..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/nodeCycle.vue
+++ /dev/null
@@ -1,215 +0,0 @@
-<template>
- <div>
- <el-tabs tab-position="left" style="">
- <template v-for="(stage,i) in tree">
- <el-tab-pane v-if="stage.checked" :key="i" :label="stage.name">
- <el-form :model="{tableData: tree}" ref="ruleForm" label-width="120px" class="demo-dynamic">
- <el-form-item label="闃舵鎬诲懆鏈�(澶�)">
- <el-input-number v-model="stage.stageTimeDays" :controls="false" :min="1" :step="1" step-strictly style="width: 400px;text-align: left"></el-input-number>
- </el-form-item>
- <el-table
- border
- height="calc(100vh - 501px)"
- :data="stage.children.filter(item=>item.checked)"
- style="width: 100%">
- <el-table-column
- prop="name"
- align="center"
- label="鑺傜偣"/>
- <el-table-column
- align="center"
- label="鑷」鐩紑濮嬬n澶�"
- width="180">
- <template slot-scope="{row}">
- <el-input-number v-model="row.nodeTimeStart" :controls="false" :min="getStageStart(i)" :max="getStageEnd(i)" :step="1" step-strictly style="width: 100%;text-align: left"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="鎸佺画澶╂暟"
- width="180">
- <template slot-scope="{row}">
- <el-input-number v-model="row.nodeTimeDays" :controls="false" :min="1" :max="stage.stageTimeDays||Infinity" :step="1" step-strictly style="width: 100%;text-align: left"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="瀹屾垚鍚庢彁閱�"
- width="95">
- <template slot-scope="{row}">
- <el-switch
- @change="notifyChange($event,row)"
- v-model="row.completeNotifyStatus"
- active-color="#13ce66"
- :active-value="1"
- :inactive-value="0">
- </el-switch>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="鎻愰啋鑺傜偣"
- width="180">
- <template slot-scope="{row,$index}">
- <el-cascader
- v-model="row.notifyTempStageNodeId"
- :ref="'cascade'+i+$index"
- :disabled="row.completeNotifyStatus===0"
- @change="cascadeChange($event,row,'cascade'+i+$index)"
- :options="options"
- :show-all-levels="false"
- :props="{ multiple: true, checkStrictly: true, emitPath: false }"
- clearable></el-cascader>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="涓存湡棰勮"
- width="80">
- <template slot-scope="{row}">
- <el-switch
- v-model="row.warnNeed"
- active-color="#13ce66"
- :active-value="1"
- :inactive-value="0">
- </el-switch>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="闄勪欢蹇呬紶"
- width="80">
- <template slot-scope="{row}">
- <el-switch
- v-model="row.fileNeed"
- active-color="#13ce66"
- :active-value="1"
- :inactive-value="0">
- </el-switch>
- </template>
- </el-table-column>
- </el-table>
- </el-form>
- </el-tab-pane>
- </template>
- </el-tabs>
- </div>
-</template>
-
-<script>
-export default {
- data() {
- return {
- options: [],
- tree: []
- }
- },
- mounted() {
- this.$EventBus.$on('setTree', data => {
- this.tree = data
- let arr = []
- data.map(item => {
- if (item.checked) {
- let stage = {
- value: item.id,
- label: item.name,
- notifyTempType: 0, // 0闃舵 1鑺傜偣
- children: []
- }
- item.children.map(node => {
- if (node.checked) {
- stage.children.push({
- value: node.id,
- label: node.name,
- notifyTempType: 1, // 0闃舵 1鑺傜偣
- })
- }
- })
- arr.push(stage)
- }
- })
- this.options = arr //鍙�夋嫨涓烘彁閱掕妭鐐圭殑鍒楄〃
- })
- },
- computed:{
- getStageStart(){
- return (i)=>{
- let num = 0
- this.tree.map((item,idx)=>{
- if(idx<i){
- num+=(item.stageTimeDays||0)
- }
- })
- return num+1
- }
-
- },
- getStageEnd(){
- return (i)=>{
- let num = 0
- this.tree.map((item,idx)=>{
- if(idx<i+1){
- num+=(item.stageTimeDays||0)
- }
- })
- return num+1
- }
-
- }
- },
- beforeDestroy() {
- this.$EventBus.$off('setTree')
- },
- methods: {
- getSelectTree(){
- let arr = []
- this.tree.map(item => {
- if (item.checked) {
- let stage = JSON.parse(JSON.stringify(item))
- delete stage.checked
- delete stage.checkedList
- delete stage.name
- let children =[]
- stage.children.map(node => {
- if (node.checked) {
- let item = JSON.parse(JSON.stringify(node))
- delete item.checked
- delete item.notifyTempStageNodeId
- delete item.name
- children.push(item)
- }
- })
- stage.children = children
- arr.push(stage)
- }
- })
- return arr
- },
- notifyChange(e,row){
- row.notify = []
- row.notifyStageNodes = []
- },
- cascadeChange(e, row, ref) {
- let nodes = this.$refs[ref][0].getCheckedNodes(false)
- let arr = []
- nodes.map(item => {
- if (item.checked) {
- arr.push({
- tempStageNodeId: row.id,
- notifyTempType: item.level - 1,
- notifyTempStageNodeId: item.value
- })
- }
- })
- row.notify = arr
- }
- }
-}
-</script>
-
-<style scoped>
-.tab-content {
- height: calc(100vh - 450px);
- overflow-y: auto;
-}
-</style>
diff --git a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/preview.vue b/admin-web/src/views/projectConfig/buildPlan/nodeChoose/preview.vue
deleted file mode 100644
index 3018bc8..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/preview.vue
+++ /dev/null
@@ -1,205 +0,0 @@
-<template>
- <div class="box">
- <div class="f-r">
- <div>璁剧疆寮�濮嬫椂闂�</div>
- <el-date-picker
- style="margin: 0 10px"
- v-model="startTime"
- type="date"
- value-format="yyyyMMddHHmmss"
- placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- <my-button @click="doPreview" name="鐢熸垚棰勮" type="warning" site="form"/>
- </div>
- <el-table
- v-loading="loading"
- border
- height="calc(100vh - 505px)"
- :data="tableData"
- :span-method="spanMethod"
- style="width: 100%;margin-top: 15px">
- <el-table-column
- prop="stageName"
- align="center"
- width="130"
- label="闃舵"/>
- <el-table-column
- prop="nodeName"
- align="center"
- width="110"
- label="鑺傜偣"/>
- <el-table-column
- prop="startDate"
- align="center"
- label="寮�濮嬫椂闂�"
- width="110">
- <template slot-scope="scope">
- <span>{{ longToDate(scope.row.startDate) }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="endDate"
- align="center"
- label="鎴鏃堕棿"
- width="110">
- <template slot-scope="scope">
- <span>{{ longToDate(scope.row.endDate) }}</span>
- </template>
- </el-table-column>
- <el-table-column :width="dates.length*100+2" class-name="my-col">
- <template slot="header" slot-scope="scope">
- <span v-for="(item,i) in dates" :key="i" class="item">{{ longToDate(item) }}</span>
- </template>
- <template slot-scope="{row,$index}">
- <!-- <span v-for="(item,i) in dates" :key="i" class="progress" :class="(dates.indexOf(row.startDate)<=i)&&(dates.indexOf(row.endDate)>=i)?'act':''"><span class="act"></span></span>-->
- <span v-for="(item,i) in dates" :key="i" class="progress">
- <span v-if="(dates.indexOf(row.startDate)<=i)&&(dates.indexOf(row.endDate)>=i)" class="act"></span>
- </span>
- </template>
- </el-table-column>
- </el-table>
- </div>
-</template>
-
-<script>
-import {getPreview} from "@/api/projectConfig/buildPlanNode";
-import myButton from '@/components/myButton/myButton'
-import * as DateFormatter from '@/utils/DateFormatter';
-
-export default {
- name: 'preview',
- components: {myButton},
- props: ['tempProjectStages'],
- data() {
- return {
- loading: false,
- startTime: '',
- tableData: [],
- spanArr: [],
- pos: 0,
- dates: []
- }
- },
- mounted() {
- this.$EventBus.$on('clearData', data => {
- this.startTime = ''
- this.tableData = []
- this.spanArr = []
- this.pos = 0
- this.dates = []
- })
- },
- methods: {
- doPreview() {
- this.loading = true
- getPreview({
- startDate: this.startTime,
- tempProjectStages: this.tempProjectStages
- }).then(res => {
- let arr = []
- res.map(item => {
- arr.push(item.startDate)
- arr.push(item.endDate)
- })
- let newArr = arr.filter((value, index, self) => {
- return self.indexOf(value) === index;
- });
- this.dates = newArr.sort()
- this.tableData = res
- this.getSpanArr(res)
- this.loading = false
- }).catch(() => {
- this.loading = false
- })
- },
- spanMethod({row, column, rowIndex, columnIndex}) {
- if (columnIndex === 0) {
- const rowspan = this.spanArr[rowIndex]
- const colspan = rowspan > 0 ? 1 : 0
- return {
- rowspan, //琛�
- colspan //鍒�
- };
- }
- },
- getSpanArr(data) {
- this.spanArr = [];
- for (let i = 0; i < data.length; i++) {
- if (i === 0) {
- this.spanArr.push(1);
- this.pos = 0;
- } else {
- // 鍒ゆ柇褰撳墠鍏冪礌涓庝笂涓�涓厓绱犳槸鍚︾浉鍚�
- if (data[i].id === data[i - 1].id && data[i].id) {
- this.spanArr[this.pos] += 1;
- this.spanArr.push(0);
- } else {
- this.spanArr.push(1);
- this.pos = i;
- }
- }
- }
- },
- longToDate(long) {
- return DateFormatter.LongToDate(long)
- }
- }
-}
-</script>
-<style>
-.my-col {
- padding: 0 !important;
-}
-
-.my-col .cell {
- padding: 0 !important;
-}
-
-.el-table__row .my-col {
- border: none !important;
-}
-</style>
-<style scoped lang="scss">
-.item {
- display: inline-block;
- text-align: center;
- width: 100px;
-}
-
-.progress {
- position: relative;
- //left: -50px;
- display: inline-block;
- width: 100px;
- height: 24px;
- margin-top: 8px;
-
- &::after {
- content: '';
- position: absolute;
- width: 1px;
- height: 40px;
- left: 100px;
- top: -8px;
- border-right: 1px dashed #dfe6ec;
- }
-}
-
-.act {
- position: absolute;
- display: inline-block;
- width: 100px;
- height: 24px;
- background-color: #0c8aff;
- //left: -50px;
-}
-
-.rt {
- //left: -50px;
-}
-
-.lt {
-
-}
-
-</style>
diff --git a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/stageNode.vue b/admin-web/src/views/projectConfig/buildPlan/nodeChoose/stageNode.vue
deleted file mode 100644
index 3c289fd..0000000
--- a/admin-web/src/views/projectConfig/buildPlan/nodeChoose/stageNode.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-<template>
- <div class="box" v-loading="loading">
- <div v-for="(stage,i) in tree" :key="i">
- <el-checkbox @change="stageChange($event,stage)" v-model="stage.checked">{{ stage.name }}</el-checkbox>
- <div style="margin: 15px 0;"></div>
- <div style="margin: 15px 0 15px 20px">
- <el-checkbox-group @change="nodesChange($event,stage)" v-model="stage.checkedList">
- <el-checkbox @change="nodeChange($event,stage,node)" v-for="(node,k) in stage.children" :label="node.id" :key="k">{{ node.name }}</el-checkbox>
- </el-checkbox-group>
- </div>
- </div>
- </div>
-</template>
-
-<script>
-import {getPStageNode} from "@/api/projectConfig/buildPlanNode";
-
-export default {
- props: ['tempProjectId'],
- name: 'stageNode',
- data() {
- return {
- loading: true,
- tree: [],
- checkAll: false,
- checkedCities: [],
- }
- },
- mounted() {
- this.getTree()
- },
- methods: {
- setNodeCycleData() {
- this.$EventBus.$emit('setTree', this.tree)
- },
- setPreviewData() {
- this.$EventBus.$emit('setPreviewData', this.tree)
- },
- stageChange(e, stage) {
- if (e) {
- stage.checkedList = stage.children.map(item => {
- item.checked = true
- return item.id
- })
- } else {
- stage.checkedList = []
- }
- },
- nodesChange(e, stage) {
- stage.checked = e.length > 0
- },
- nodeChange(e, stage, node) {
- node.checked = e
- },
- getTree() {
- getPStageNode({tempProjectId: this.tempProjectId}).then(res => {
- this.loading = false
- res.map((stage, i) => {
- stage.checked = stage.children.some(item => item.isDelete === 0)
- stage.stageTimeDays = stage.stageTimeDays || undefined
- let checkedList = []
- stage.children.map(node => {
- if (node.isDelete === 0) {
- checkedList.push(node.id)
- }
- node.checked = node.isDelete === 0
- node.nodeTimeStart = node.nodeTimeStart || undefined //鑷」鐩紑濮嬬N澶�
- node.nodeTimeDays = node.nodeTimeDays || undefined //鎸佺画澶╂暟
- if(node.notify){
- node.notifyTempStageNodeId = node.notify.map(n=>n.notifyTempStageNodeId)
- }
-
- })
- stage.checkedList = checkedList
- })
- this.tree = res
- })
- }
- }
-}
-</script>
-
-<style scoped>
-
-</style>
diff --git a/admin-web/src/views/projectConfig/kanbanConfig/edit.vue b/admin-web/src/views/projectConfig/kanbanConfig/edit.vue
deleted file mode 100644
index c8d1761..0000000
--- a/admin-web/src/views/projectConfig/kanbanConfig/edit.vue
+++ /dev/null
@@ -1,115 +0,0 @@
-<template>
- <win-sm :title="setting.title" @close="close" :width="'800px'">
- <el-form v-loading="loading" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="120px">
- <el-form-item label="鍏抽敭鑺傜偣鍚嶇О" prop="boardName">
- <el-input v-model="formData.boardName" placeholder="璇疯緭鍏ュ叧閿妭鐐瑰悕绉�" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>
-<!-- <el-form-item label="缂栧彿" prop="boardCode">
- <el-input v-model="formData.boardCode" placeholder="璇疯緭鍏ョ紪鍙�" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>-->
- <el-form-item label="灞曠ず椤哄簭" prop="sort">
- <el-input-number v-model="formData.sort" clearable :min="1"/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-radio-group v-model="formData.status">
- <el-radio :label="1" border>鍚敤</el-radio>
- <el-radio :label="0" border>绂佺敤</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-sm>
-</template>
-
-<script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as api from "@/api/projectConfig/kanbanConfig";
-
-export default {
- name: 'edit',
- components: {winSm, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- formData: {
- boardName: '',
- boardCode: '',
- sort: '',
- status: 1
- },
- rules: {
- boardName: [
- {required: true, message: '璇疯緭鍏ュ叧閿妭鐐瑰悕绉�', trigger: 'blur'},
- ],
- boardCode: [
- {required: true, message: '璇疯緭鍏ョ紪鍙�', trigger: 'blur'},
- ]
- }
- }
- },
- created() {
- this.loading = true
- this.getInfo()
- },
- methods: {
- getInfo() {
- this.title = this.setting.title
- if (this.setting.id != null) {
- // 鏌ヨ鏁版嵁
- api.getDetail({id: this.setting.id}).then(res => {
- this.loading = false
- this.formData = Object.assign(this.formData, res)
- })
- }else{
- this.loading = false
- }
- },
- close() {
- this.formData = {
- planTypeCode: '',
- projectName: '',
- projectCode: '',
- status: 1,
- remark: '',
- }
- this.$emit('close')
- },
- save() {
- this.$refs.ruleForm.validate((valid) => {
- if (valid) {
- const params = Object.assign({}, this.formData)
- this.loading = true
- api[params.id?'upd':'add'](params).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(()=>{
- this.loading = false
- })
- } else {
- this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
- }
- })
- }
- }
-}
-</script>
diff --git a/admin-web/src/views/projectConfig/kanbanConfig/index.vue b/admin-web/src/views/projectConfig/kanbanConfig/index.vue
deleted file mode 100644
index 89ad20c..0000000
--- a/admin-web/src/views/projectConfig/kanbanConfig/index.vue
+++ /dev/null
@@ -1,166 +0,0 @@
-<template>
- <div class="app-container">
- <el-card class="box-card" shadow="never">
- <div class="filter-container" style="margin-bottom: 10px">
- <my-search ref="searchBar" :items="items" @search="filterForm"></my-search>
- </div>
- <!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
- </el-card>
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"></edit>
- <nodeChoose v-if="nodeSetting.show" :setting="nodeSetting" @close="nodeSetting.show = false" @search="search"></nodeChoose>
- </div>
-</template>
-
-<script>
-import MyTableV2 from '@/components/myTable/myTableV2';
-import SettingIplatform from '@/utils/settingIplatform';
-import items from './items';
-import edit from './edit'
-import nodeChoose from "@/views/projectConfig/kanbanConfig/nodeChoose";
-import {updStatus} from "@/api/projectConfig/kanbanConfig";
-
-export default {
- components: {MyTableV2, edit,nodeChoose},
- data() {
- return {
- // 鎼滅储鏉′欢
- items: items,
- filterFrom: {
- boardName: '',
- status: '1',
- },
- //鏂板缂栬緫
- editSetting: {
- title: '',
- id: '',
- show: false,
- },
- //鑺傜偣璁剧疆
- nodeSetting: {
- title: '妯℃澘鑺傜偣璁剧疆',
- stageId: '',
- show: false,
- },
- // 琛ㄦ牸鏁版嵁
- table: {
- showIndex: true, // 鏄惁鏄剧ず搴忓彿
- expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/p/temp/project/board/list', // 璇锋眰鍦板潃
- // 宸ュ叿鏉�
- tools: {
- columnsCtrl: {
- // 鍒楁帶鍒舵寜閽�
- show: false,
- },
- generalExport: {
- // 閫氱敤瀵煎嚭鎸夐挳
- show: false,
- },
- // 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [],
- },
- // 鍒椾俊鎭�
- columns: [
- {title: '鍏抽敭鑺傜偣鍚嶇О', field: 'boardName', align: 'left'},
- // {title: '缂栧彿', field: 'boardCode', align: 'center'},
- {title: '椤哄簭鍙�', field: 'sort', align: 'left'},
- {
- field: 'status',
- title: '鐘舵��',
- align: 'center',
- width: 80,
- switch: (row) => {
- return {
- value: row.status === 1, // 寮�
- label: row.status === 1 ? '鍚敤' : '绂佺敤', // 寮�鐨勬弿杩�
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.updState(row);
- },
- };
- },
- },
- ],
- // 鎿嶄綔淇℃伅
- operation: {
- show: true, // 鏄剧ず鎿嶄綔鍒�
- width: '250', // 鍒楀
- attr: [
- {
- title: '缂栬緫',
- events: (row) => {
- this.showAdd(row.id);
- },
- },
- {
- title: '妯℃澘鑺傜偣璁剧疆',
- type: 'success',
- events: (row) => {
- this.showNode(row.id);
- },
- },
- ],
- },
- paging: {
- show: false, // 鏄剧ず鍒嗛〉
- // 鍒嗛〉淇℃伅
- page: {
- small: false,
- pageNum: 1,
- pageSize: 10,
- total: 0,
- },
- },
- },
- };
- },
- mounted() {
- },
- methods: {
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
- } else {
- this.$refs.myTable.search();
- }
- },
- filterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params);
- this.search();
- },
- //娣诲姞銆佺紪杈�
- showAdd(id) {
- let title = '娣诲姞';
- if (id != null) {
- title = '缂栬緫';
- }
- this.editSetting.id = id;
- this.editSetting.title = title;
- this.editSetting.show = true;
- },
- updState(row) {
- let text = row.status === 0 ? "鍚敤" : "绂佺敤";
- this.$modal.confirm('纭瑕�' + text + '"' + row.boardName + '"鑺傜偣鍚楋紵').then(() => {
- let status = row.status === 1 ? 0 : 1
- updStatus({
- id: row.id,
- status
- }).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- this.$modal.msgSuccess(text + "鎴愬姛");
- }
- })
- })
- },
- showNode(id) {
- this.nodeSetting.id = id;
- this.nodeSetting.show = true;
- },
- },
-};
-</script>
-
-<style scoped></style>
diff --git a/admin-web/src/views/projectConfig/kanbanConfig/items.js b/admin-web/src/views/projectConfig/kanbanConfig/items.js
deleted file mode 100644
index bebbf01..0000000
--- a/admin-web/src/views/projectConfig/kanbanConfig/items.js
+++ /dev/null
@@ -1,33 +0,0 @@
-export default [
- {
- type: 'text',
- dataIndex: 'boardName',
- label: '鍏抽敭鑺傜偣鍚嶇О',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- /*{
- type: 'text',
- dataIndex: 'boardCode',
- label: '妯℃澘缂栧彿',
- placeholder: '妯℃澘缂栧彿',
- defaultValue: ''
- },*/
- {
- type: 'select',
- dataIndex: 'status',
- label: '鐘舵��',
- placeholder: '璇烽�夋嫨',
- defaultValue: '1',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
- }
-]
diff --git a/admin-web/src/views/projectConfig/kanbanConfig/nodeChoose.vue b/admin-web/src/views/projectConfig/kanbanConfig/nodeChoose.vue
deleted file mode 100644
index 054bfa3..0000000
--- a/admin-web/src/views/projectConfig/kanbanConfig/nodeChoose.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<template>
- <win-md :title="setting.title" @close="close" :width="'800px'">
- <div style="min-height: 300px">
- <el-table
- v-loading="loading"
- border
- :data="tableData"
- style="width: 100%;margin-top: 15px">
- <el-table-column
- prop="tempProjectName"
- align="center"
- width="200"
- label="妯℃澘"/>
- <el-table-column
- align="center"
- label="閫夋嫨鑺傜偣">
- <template slot-scope="{row,$index}">
- <el-cascader
- :key="$index"
- style="width: 100%;"
- v-model="row.tempStageNodeIds"
- :options="row.options"
- :show-all-levels="false"
- :props="{ multiple: true, emitPath: false,value:'id', label:'name'}"
- clearable></el-cascader>
- </template>
- </el-table-column>
- </el-table>
- </div>
-
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-md>
-</template>
-
-<script>
-import winMd from '@/components/win/win-md'
-import myButton from '@/components/myButton/myButton'
-import {getList, getTree, upd} from "@/api/projectConfig/kanbanNode";
-
-export default {
- name: 'nodeChoose',
- components: {winMd, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- options: [],
- tableData: []
- }
- },
- mounted() {
- },
- created() {
- this.getList()
- },
- methods: {
- getList() {
- this.loading = true
- getList({id: this.setting.id}).then(res => {
- let count = res.length
- res.map((item) => {
- getTree({tempProjectId: item.id}).then(ret => {
- item.options = ret
- count--
- if (count < 1) {
- this.tableData = res
- this.loading = false
- }
- })
- })
- })
- },
- close() {
- this.loading = false
- this.tableData = []
- this.$emit('close')
- },
- save() {
- let arr = []
- if (this.tableData.every(item => item.tempStageNodeIds.length === 0)) {
- this.$modal.msgError('璇烽�夋嫨鑺傜偣')
- return;
- }
- for (let i = 0; i < this.tableData.length; i++) {
- const item = this.tableData[i]
- item.tempStageNodeIds.map(node => {
- item.tempStageNodeId = node
- arr.push({...item})
- })
- }
- arr.map(item => {
- item.tempProjectId = item.id
- delete item.tempStageNodeIds
- delete item.id
- delete item.options
- delete item.tempProjectName
- })
- this.loading = true
- upd({
- id: this.setting.id,
- tempProjectBoardNode: arr
- }).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(() => {
- this.loading = false
- })
- }
- }
-}
-</script>
diff --git a/admin-web/src/views/projectConfig/stageConfig/edit.vue b/admin-web/src/views/projectConfig/stageConfig/edit.vue
deleted file mode 100644
index c99c81b..0000000
--- a/admin-web/src/views/projectConfig/stageConfig/edit.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-<template>
- <win-sm :title="setting.title" @close="close" :width="'800px'">
- <el-form v-loading="loading" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
- <el-form-item label="闃舵鍚嶇О" prop="stageName">
- <el-input v-model="formData.stageName" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>
- <el-form-item label="灞曠ず椤哄簭" prop="sort">
- <el-input-number v-model="formData.sort" clearable :min="1"/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-radio-group v-model="formData.status">
- <el-radio :label="1" border>鍚敤</el-radio>
- <el-radio :label="0" border>绂佺敤</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input
- v-model="formData.remark"
- type="textarea"
- :rows="3"
- maxlength="200"
- show-word-limit
- />
- </el-form-item>
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-sm>
-</template>
-
-<script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as stage from "@/api/projectConfig/stageConfig";
-
-export default {
- name: 'edit',
- components: {winSm, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- formData: {
- stageName: '',
- sort: 1,
- status: 1,
- remark: '',
- },
- rules: {
- stageName: [
- {required: true, message: '璇疯緭鍏ラ樁娈靛悕绉�', trigger: 'blur'}
- ],
- }
- }
- },
- created() {
- this.loading = true
- this.getInfo()
- },
- methods: {
- getInfo() {
- if (this.setting.id != null) {
- // 鏌ヨ鏁版嵁
- stage.getDetail({id: this.setting.id}).then(res => {
- this.loading = false
- this.formData = Object.assign(this.formData, res)
- })
- }else{
- this.loading = false
- }
- },
- close() {
- this.formData = {
- stageName: '',
- sort: 1,
- status: 1,
- remark: '',
- }
- this.$emit('close')
- },
- save() {
- this.$refs.ruleForm.validate((valid) => {
- if (valid) {
- const params = Object.assign({}, this.formData)
- this.loading = true
- stage[params.id?'upd':'add'](params).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(()=>{
- this.loading = false
- })
- } else {
- this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
- }
- })
- }
- }
-}
-</script>
diff --git a/admin-web/src/views/projectConfig/stageConfig/index.vue b/admin-web/src/views/projectConfig/stageConfig/index.vue
deleted file mode 100644
index 8440bb1..0000000
--- a/admin-web/src/views/projectConfig/stageConfig/index.vue
+++ /dev/null
@@ -1,191 +0,0 @@
-<template>
- <div class="app-container">
- <el-card class="box-card" shadow="never">
- <div class="filter-container" style="margin-bottom: 10px">
- <my-search ref="searchBar" :items="items" @search="filterForm"></my-search>
- </div>
- <!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
- </el-card>
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"></edit>
- <nodeConfig v-if="nodeSetting.show" :setting="nodeSetting" @close="nodeSetting.show = false" @search="search"></nodeConfig>
- </div>
-</template>
-
-<script>
-import MyTableV2 from '@/components/myTable/myTableV2';
-import SettingIplatform from '@/utils/settingIplatform';
-import items from './items';
-import edit from './edit'
-import nodeConfig from './node/node'
-import {del, updStatus} from "@/api/projectConfig/stageConfig";
-
-export default {
- components: {MyTableV2, edit, nodeConfig},
- data() {
- return {
- // 鎼滅储鏉′欢
- items: items,
- filterFrom: {
- stageName: '',
- status: '1',
- },
- //鏂板缂栬緫
- editSetting: {
- title: '',
- id: '',
- show: false,
- },
- //鑺傜偣璁剧疆
- nodeSetting: {
- title: '鑺傜偣璁剧疆',
- stageId: '',
- show: false,
- },
- // 琛ㄦ牸鏁版嵁
- table: {
- showIndex: true, // 鏄惁鏄剧ず搴忓彿
- expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/p/temp/stage/list', // 璇锋眰鍦板潃
- // 宸ュ叿鏉�
- tools: {
- columnsCtrl: {
- // 鍒楁帶鍒舵寜閽�
- show: false,
- },
- generalExport: {
- // 閫氱敤瀵煎嚭鎸夐挳
- show: false,
- },
- // 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [
- {
- name: '鏂板',
- click: () => {
- this.showAdd(null);
- },
- },
- ],
- },
- // 鍒椾俊鎭�
- columns: [
- {title: '闃舵鍚嶇О', field: 'stageName', align: 'left', width: '200px'},
- {title: '椤哄簭鍙�', field: 'sort', align: 'center', width: '80px'},
- {title: '鍖呭惈鑺傜偣', field: 'nodeName', align: 'left'},
- {
- field: 'status',
- title: '鐘舵��',
- align: 'center',
- width: 80,
- switch: (row) => {
- return {
- value: row.status === 1, // 寮�
- label: row.status === 1 ? '鍚敤' : '绂佺敤', // 寮�鐨勬弿杩�
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.updState(row);
- },
- };
- },
- },
- ],
- // 鎿嶄綔淇℃伅
- operation: {
- show: true, // 鏄剧ず鎿嶄綔鍒�
- width: '250', // 鍒楀
- attr: [
- {
- title: '缂栬緫',
- events: (row) => {
- this.showAdd(row.id);
- },
- },
- {
- title: '鑺傜偣璁剧疆',
- type: 'warning',
- events: (row) => {
- this.showNode(row.id);
- },
- },
- {
- title: '鍒犻櫎',
- events: (row) => {
- this.handleDelete(row);
- },
- },
- ],
- },
- paging: {
- show: true, // 鏄剧ず鍒嗛〉
- // 鍒嗛〉淇℃伅
- page: {
- small: false,
- pageNum: 1,
- pageSize: 10,
- total: 0,
- },
- },
- },
- };
- },
- mounted() {
- },
- methods: {
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
- } else {
- this.$refs.myTable.search();
- }
- },
- filterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params);
- this.search();
- },
- //娣诲姞銆佺紪杈�
- showAdd(id) {
- let title = '娣诲姞';
- if (id != null) {
- title = '缂栬緫';
- }
- this.editSetting.id = id;
- this.editSetting.title = title;
- this.editSetting.show = true;
- },
- updState(row) {
- let text = row.status === 0 ? "鍚敤" : "绂佺敤";
- this.$modal.confirm('纭瑕�' + text + '"' + row.stageName + '"鍚楋紵').then(() => {
- let status = row.status === 1 ? 0 : 1
- updStatus({
- id: row.id,
- status
- }).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- this.$modal.msgSuccess(text + "鎴愬姛");
- this.search()
- }
- })
- })
- },
- showNode(id) {
- this.nodeSetting.stageId = id;
- this.nodeSetting.show = true;
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- this.$confirm('鏄惁纭鍒犻櫎"' + row.stageName + '"闃舵锛�', {
- type: 'warning'
- }).then(() => {
- del({id: row.id}).then(res => {
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- this.search()
- })
- })
- },
- },
-};
-</script>
-
-<style scoped></style>
diff --git a/admin-web/src/views/projectConfig/stageConfig/items.js b/admin-web/src/views/projectConfig/stageConfig/items.js
deleted file mode 100644
index acdebae..0000000
--- a/admin-web/src/views/projectConfig/stageConfig/items.js
+++ /dev/null
@@ -1,26 +0,0 @@
-export default [
- {
- type: 'text',
- dataIndex: 'stageName',
- label: '闃舵鍚嶇О',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- {
- type: 'select',
- dataIndex: 'status',
- label: '鐘舵��',
- placeholder: '璇烽�夋嫨',
- defaultValue: '1',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
- }
-]
diff --git a/admin-web/src/views/projectConfig/stageConfig/node/edit.vue b/admin-web/src/views/projectConfig/stageConfig/node/edit.vue
deleted file mode 100644
index d8624c2..0000000
--- a/admin-web/src/views/projectConfig/stageConfig/node/edit.vue
+++ /dev/null
@@ -1,118 +0,0 @@
-<template>
- <win-sm :title="setting.title" @close="close" :width="'800px'">
- <el-form v-loading="loading" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
- <el-form-item label="鑺傜偣鍚嶇О" prop="nodeName">
- <el-input v-model="formData.nodeName" clearable maxlength="32" show-word-limit style="width: 100%"/>
- </el-form-item>
- <el-form-item label="灞曠ず椤哄簭" prop="sort">
- <el-input-number v-model="formData.sort" clearable :min="1"/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-radio-group v-model="formData.status">
- <el-radio :label="1" border>鍚敤</el-radio>
- <el-radio :label="0" border>绂佺敤</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input
- v-model="formData.remark"
- type="textarea"
- :rows="3"
- maxlength="200"
- show-word-limit
- />
- </el-form-item>
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-sm>
-</template>
-
-<script>
-import winSm from '@/components/win/win-sm'
-import myButton from '@/components/myButton/myButton'
-import * as node from "@/api/projectConfig/stageNode";
-
-export default {
- name: 'edit',
- components: {winSm, myButton},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- loading: false,
- formData: {
- nodeName: '',
- sort: 1,
- status: 1,
- remark: '',
- },
- rules: {
- nodeName: [
- {required: true, message: '璇疯緭鍏ヨ妭鐐瑰悕绉�', trigger: 'blur'}
- ],
- }
- }
- },
- created() {
- this.loading = true
- this.getInfo()
- },
- methods: {
- getInfo() {
- this.title = this.setting.title
- if (this.setting.id != null) {
- // 鏌ヨ鏁版嵁
- node.getDetail({id: this.setting.id}).then(res => {
- this.loading = false
- this.formData = Object.assign(this.formData, res)
- })
- }else{
- this.loading = false
- }
- },
- close() {
- this.formData = {
- nodeName: '',
- sort: 1,
- status: 1,
- remark: '',
- }
- this.$emit('close')
- },
- save() {
- this.$refs.ruleForm.validate((valid) => {
- if (valid) {
- const params = Object.assign({}, this.formData)
- params.stageId = this.setting.stageId
- this.loading = true
- node[params.id?'upd':'add'](params).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(()=>{
- this.loading = false
- })
- } else {
- this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
- }
- })
- }
- }
-}
-</script>
diff --git a/admin-web/src/views/projectConfig/stageConfig/node/items.js b/admin-web/src/views/projectConfig/stageConfig/node/items.js
deleted file mode 100644
index 3b75f44..0000000
--- a/admin-web/src/views/projectConfig/stageConfig/node/items.js
+++ /dev/null
@@ -1,26 +0,0 @@
-export default [
- {
- type: 'text',
- dataIndex: 'nodeName',
- label: '鑺傜偣鍚嶇О',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- {
- type: 'select',
- dataIndex: 'status',
- label: '鐘舵��',
- placeholder: '璇烽�夋嫨',
- defaultValue: '1',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
- }
-]
diff --git a/admin-web/src/views/projectConfig/stageConfig/node/node.vue b/admin-web/src/views/projectConfig/stageConfig/node/node.vue
deleted file mode 100644
index 75a2212..0000000
--- a/admin-web/src/views/projectConfig/stageConfig/node/node.vue
+++ /dev/null
@@ -1,192 +0,0 @@
-<template>
- <win-lg :title="setting.title" @close="close" :width="'800px'">
- <el-card class="box-card" shadow="never">
- <div class="filter-container" style="margin-bottom: 10px">
- <my-search ref="searchBar" :items="items" @search="filterForm"></my-search>
- </div>
- <!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
- </el-card>
- <edit v-if="editSetting.show" :setting="editSetting" @close="closeNode" @search="search"></edit>
- </win-lg>
-</template>
-
-<script>
-import MyTableV2 from '@/components/myTable/myTableV2';
-import winLg from '@/components/win/win-lg'
-import SettingIplatform from '@/utils/settingIplatform';
-import items from './items';
-import edit from './edit'
-import {del, updStatus} from "@/api/projectConfig/stageNode";
-
-export default {
- name: 'nodeConfig',
- components: {MyTableV2, winLg, edit},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- // 鎼滅储鏉′欢
- items: items,
- filterFrom: {
- nodeName: '',
- status: '1',
- },
- //鏂板缂栬緫
- editSetting: {
- title: '',
- id: '',
- show: false,
- },
- // 琛ㄦ牸鏁版嵁
- table: {
- showIndex: true, // 鏄惁鏄剧ず搴忓彿
- expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/p/temp/stage/node/list?stageId='+this.setting.stageId, // 璇锋眰鍦板潃
- // 宸ュ叿鏉�
- tools: {
- columnsCtrl: {
- // 鍒楁帶鍒舵寜閽�
- show: false,
- },
- generalExport: {
- // 閫氱敤瀵煎嚭鎸夐挳
- show: false,
- },
- // 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [
- {
- name: '鏂板',
- click: () => {
- this.showAdd(null);
- },
- },
- ],
- },
- // 鍒椾俊鎭�
- columns: [
- {title: '鑺傜偣鍚嶇О', field: 'nodeName', align: 'center'},
- {title: '椤哄簭鍙�', field: 'sort', align: 'center'},
- {title: '璇存槑', field: 'remark', align: 'center'},
- {
- field: 'status',
- title: '鐘舵��',
- align: 'center',
- width: 80,
- switch: (row) => {
- return {
- value: row.status === 1, // 寮�
- label: row.status === 1 ? '鍚敤' : '绂佺敤', // 寮�鐨勬弿杩�
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.updState(row);
- },
- };
- },
- },
- ],
- // 鎿嶄綔淇℃伅
- operation: {
- show: true, // 鏄剧ず鎿嶄綔鍒�
- width: '200', // 鍒楀
- attr: [
- {
- title: '缂栬緫',
- events: (row) => {
- this.showAdd(row.id);
- },
- },
- {
- title: '鍒犻櫎',
- events: (row) => {
- this.handleDelete(row);
- },
- },
- ],
- },
- paging: {
- show: true, // 鏄剧ず鍒嗛〉
- // 鍒嗛〉淇℃伅
- page: {
- small: false,
- pageNum: 1,
- pageSize: 10,
- total: 0,
- },
- },
- },
- };
- },
- mounted() {
- },
- methods: {
- close() {
- this.$emit('close')
- },
- closeNode() {
- this.editSetting.show = false
- this.$emit('search')
- },
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
- } else {
- this.$refs.myTable.search();
- }
- },
- filterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params);
- this.search();
- },
- //娣诲姞銆佺紪杈�
- showAdd(id) {
- let title = '娣诲姞';
- if (id != null) {
- title = '缂栬緫';
- }
- this.editSetting.id = id||this.setting.id;
- this.editSetting.stageId = this.setting.stageId;
- this.editSetting.title = title;
- this.editSetting.show = true;
- },
- updState(row) {
- let text = row.status === 0 ? "鍚敤" : "绂佺敤";
- this.$modal.confirm('纭瑕�' + text + '"' + row.nodeName + '"鍚楋紵').then(() => {
- let status = row.status === 1 ? 0 : 1
- updStatus({
- id: row.id,
- status
- }).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- this.$modal.msgSuccess(text + "鎴愬姛");
- this.search()
- }
- })
- })
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- this.$confirm('鏄惁纭鍒犻櫎"' + row.nodeName + '"闃舵锛�', {
- type: 'warning'
- }).then(() => {
- del({id:row.id}).then(res=>{
- this.$modal.msgSuccess( "鍒犻櫎鎴愬姛");
- this.search()
- })
- })
- },
- },
-};
-</script>
-
-<style scoped></style>
diff --git a/admin-web/src/views/projectConfig/warningConfig/chooseItems.js b/admin-web/src/views/projectConfig/warningConfig/chooseItems.js
deleted file mode 100644
index e478dfd..0000000
--- a/admin-web/src/views/projectConfig/warningConfig/chooseItems.js
+++ /dev/null
@@ -1,16 +0,0 @@
-export default [
- {
- type: 'text',
- dataIndex: 'userName',
- label: '浜哄憳濮撳悕',
- placeholder: "璇疯緭鍏�",
- defaultValue: ''
- },
- {
- type: 'text',
- dataIndex: 'userPhone',
- label: '鎵嬫満鍙�',
- placeholder: "璇疯緭鍏�",
- defaultValue: ''
- }
-]
diff --git a/admin-web/src/views/projectConfig/warningConfig/chooseUser.vue b/admin-web/src/views/projectConfig/warningConfig/chooseUser.vue
deleted file mode 100644
index 6e0140f..0000000
--- a/admin-web/src/views/projectConfig/warningConfig/chooseUser.vue
+++ /dev/null
@@ -1,206 +0,0 @@
-<template>
- <win-md :title="setting.title" @close="close" width="1000px">
- <el-row :gutter="15">
- <!--宸︿晶鏍戝舰寮�濮�-->
- <el-col :span="6">
- <el-card style="height: calc(100vh - 400px);overflow-y: auto" shadow="never">
- <my-tree ref="searchTree" :tree-list="treeDataList" @setNode="nodeClick" @search="search"></my-tree>
- </el-card>
- </el-col>
- <!--宸︿晶鏍戝舰缁撴潫-->
- <!--鍙充晶鍒楄〃寮�濮�-->
- <el-col :span="18">
- <el-card class="box-card" shadow="never">
- <!--鎼滅储鏉′欢-->
- <div class="filter-container">
- <my-search ref="searchBar" :items="chooseItems" @search="fifterForm"></my-search>
- </div>
- <el-row style="margin-top: 15px">
- <el-col>
- <!--鍒楄〃-->
- <my-table ref="myTable" :parentSelectionsObject="setting.selections" :filter="filterFrom" :table="table"/>
- </el-col>
- </el-row>
- </el-card>
- </el-col>
- </el-row>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- </win-md>
-</template>
-
-<script>
-import winMd from '@/components/win/win-md'
-import myButton from '@/components/myButton/myButton'
-import myTree from '@/components/myTree/index';
-import MyTable from '@/components/myTable/myTable';
-import SettingIplatform from "@/utils/settingIplatform";
-import * as DateFormatter from "@/utils/DateFormatter";
-import {getTree} from "@/api/baseSetting/finsystenant";
-import chooseItems from './chooseItems'
-
-export default {
- name: "chooseUser",
- components: {winMd, myButton, MyTable, myTree},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- chooseItems: chooseItems,
- // 鏍戞暟鎹�
- treeDataList: [],
- // 鎼滅储鏉′欢
- filterFrom: {
- tenantCode: 0,
- trnantId: 0,
- userName: null,
- userPhone: null,
- },
- // 琛ㄦ牸鏁版嵁
- table: {
- showIndex: true, // 鏄惁鏄剧ず搴忓彿
- showCheckBox: true,
- expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/user/select/list?status=1', // 璇锋眰鍦板潃
- // 宸ュ叿鏉�
- tools: {
- columnsCtrl: {
- // 鍒楁帶鍒舵寜閽�
- show: false,
- },
- generalExport: {
- // 閫氱敤瀵煎嚭鎸夐挳
- show: false,
- },
- // 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [
- {
- name: '鏂板',
- click: () => {
- this.showAdd(null);
- },
- },
- ],
- },
- // 鍒椾俊鎭�
- columns: [
- {title: '浜哄憳濮撳悕', field: 'userName', align: 'left'},
- {title: '鍛樺伐缂栧彿', field: 'userCode', align: 'left'},
- {title: '鎵嬫満鍙�', field: 'userPhone', align: 'center', width: 120},
- {
- title: '鍒涘缓鏃堕棿',
- field: 'createTime',
- align: 'center',
- width: 160,
- formatter: (row) => {
- return {value: DateFormatter.LongToDateTime(row.createTime)};
- },
- },
- ],
- // 鎿嶄綔淇℃伅
- operation: {
- show: false, // 鏄剧ず鎿嶄綔鍒�
- },
- paging: {
- show: true, // 鏄剧ず鍒嗛〉
- // 鍒嗛〉淇℃伅
- page: {
- small: false,
- pageNum: 1,
- pageSize: 10,
- total: 0,
- },
- },
- },
- }
- },
- created() {
- // 鑾峰彇鏈烘瀯鏍�
- this.initTreeData();
- },
- mounted() {
- },
- methods: {
- close() {
- this.$emit('close')
- },
- save() {
- let checkUsers = this.$refs.myTable.getChedkObject()
- if (checkUsers.length === 0) {
- this.$message.error('璇烽�夋嫨浜哄憳')
- return false
- }
- this.$emit('checkUsers', checkUsers.map(item => {
- return {
- id: item.id,
- userName: item.userName
- }
- }))
- },
- // 宸︿晶鏍戝垵濮嬪寲
- initTreeData() {
- getTree().then((res) => {
- const content = res || [];
- this.treeDataList.splice(0, this.treeDataList.length);
- this.treeDataList = content;
- if (this.treeDataList && this.treeDataList.length > 0) {
- this.tenantId = this.treeDataList[0].id;
- this.tenantCode = this.treeDataList[0].code;
- }
- });
- },
- nodeClick(param) {
- param = param || {};
- this.p = Object.assign(
- {},
- {
- id: param.id,
- name: param.name,
- code: param.code,
- },
- );
- if (this.p.code != undefined && this.p.code != null) {
- this.filterFrom.tenantCode = this.p.code;
- this.tenantId = this.p.id;
- } else {
- this.filterFrom.tenantCode = 0;
- }
- this.table.paging.page.pageNum = 1;
- this.search(1);
- },
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
- } else {
- this.$refs.myTable.search();
- }
- },
- // 閲嶇疆
- reset() {
- this.filterFrom.tenantCode = null;
- this.filterFrom.userName = null;
- this.filterFrom.userPhone = null;
- this.search(1);
- },
- fifterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params);
- this.search();
- },
- }
-}
-</script>
-
-<style scoped>
-
-</style>
diff --git a/admin-web/src/views/projectConfig/warningConfig/edit.vue b/admin-web/src/views/projectConfig/warningConfig/edit.vue
deleted file mode 100644
index 6d0dcc8..0000000
--- a/admin-web/src/views/projectConfig/warningConfig/edit.vue
+++ /dev/null
@@ -1,330 +0,0 @@
-<template>
- <win-md :title="setting.title" @close="close" :width="'800px'">
- <el-form v-loading="loading" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
- <el-form-item label="妯℃澘鍚嶇О" prop="tempExpirationNotifyName">
- <el-input v-model="formData.tempExpirationNotifyName" placeholder="" clearable maxlength="32" show-word-limit style="width: 400px"/>
- </el-form-item>
- <h1>涓存湡鍓嶉璀�</h1>
- <el-form-item label="涓存湡鍓�" prop="expireBefore1">
- <el-input-number v-model="formData.expireBefore1" :controls="false" :min="1" :max="10" :step="1" step-strictly style="width: 100px"></el-input-number>
- <span style="margin-right: 10px">澶�</span>
- <el-checkbox v-model="formData.beforeManagerNotify1" :true-label="1" :false-label="0">閫氱煡椤圭洰缁忕悊</el-checkbox>
- </el-form-item>
- <el-form-item label="閫氱煡浜哄憳" prop="beforeManagerNotifyUser1">
- <el-button @click="chooseUser('beforeManagerNotifyUser1')" type="primary" plain>閫夋嫨浜哄憳</el-button>
- <el-tag
- v-for="(item,i) in formData.beforeManagerNotifyUser1"
- :key="item.id"
- type="danger"
- closable
- @close="closeUser('beforeManagerNotifyUser1',i)"
- effect="plain">
- {{ item.userName }}
- </el-tag>
- </el-form-item>
- <el-form-item label="涓存湡鍓�" prop="expireBefore2">
- <el-input-number v-model="formData.expireBefore2" :controls="false" :min="1" :max="10" :step="1" step-strictly style="width: 100px"></el-input-number>
- <span style="margin-right: 10px">澶�</span>
- <el-checkbox v-model="formData.beforeManagerNotify2" :true-label="1" :false-label="0">閫氱煡椤圭洰缁忕悊</el-checkbox>
- </el-form-item>
- <el-form-item label="閫氱煡浜哄憳" prop="beforeManagerNotifyUser2">
- <el-button @click="chooseUser('beforeManagerNotifyUser2')" type="primary" plain>閫夋嫨浜哄憳</el-button>
- <el-tag
- v-for="(item,i) in formData.beforeManagerNotifyUser2"
- :key="item.id"
- type="danger"
- closable
- @close="closeUser('beforeManagerNotifyUser2',i)"
- effect="plain">
- {{ item.userName }}
- </el-tag>
- </el-form-item>
- <el-form-item label="涓存湡鍓�" prop="expireBefore3">
- <el-input-number v-model="formData.expireBefore3" :controls="false" :min="1" :max="10" :step="1" step-strictly style="width: 100px"></el-input-number>
- <span style="margin-right: 10px">澶�</span>
- <el-checkbox v-model="formData.beforeManagerNotify3" :true-label="1" :false-label="0">閫氱煡椤圭洰缁忕悊</el-checkbox>
- </el-form-item>
- <el-form-item label="閫氱煡浜哄憳" prop="beforeManagerNotifyUser3">
- <el-button @click="chooseUser('beforeManagerNotifyUser3')" type="primary" plain>閫夋嫨浜哄憳</el-button>
- <el-tag
- v-for="(item,i) in formData.beforeManagerNotifyUser3"
- :key="item.id"
- type="danger"
- closable
- @close="closeUser('beforeManagerNotifyUser3',i)"
- effect="plain">
- {{ item.userName }}
- </el-tag>
- </el-form-item>
- <h1>瓒呮湡鍚庨璀�</h1>
- <el-form-item label="瓒呮湡鍚�" prop="expireAfter1">
- <el-input-number v-model="formData.expireAfter1" :controls="false" :min="1" :max="10" :step="1" step-strictly style="width: 100px"></el-input-number>
- <span style="margin-right: 10px">澶�</span>
- <el-checkbox v-model="formData.afterManagerNotify1" :true-label="1" :false-label="0">閫氱煡椤圭洰缁忕悊</el-checkbox>
- </el-form-item>
- <el-form-item label="閫氱煡浜哄憳" prop="afterManagerNotifyUser1">
- <el-button @click="chooseUser('afterManagerNotifyUser1')" type="primary" plain>閫夋嫨浜哄憳</el-button>
- <el-tag
- v-for="(item,i) in formData.afterManagerNotifyUser1"
- :key="item.id"
- type="danger"
- closable
- @close="closeUser('afterManagerNotifyUser1',i)"
- effect="plain">
- {{ item.userName }}
- </el-tag>
- </el-form-item>
- <el-form-item label="瓒呮湡鍚�" prop="expireAfter2">
- <el-input-number v-model="formData.expireAfter2" :controls="false" :min="1" :max="10" :step="1" step-strictly style="width: 100px"></el-input-number>
- <span style="margin-right: 10px">澶�</span>
- <el-checkbox v-model="formData.afterManagerNotify2" :true-label="1" :false-label="0">閫氱煡椤圭洰缁忕悊</el-checkbox>
- </el-form-item>
- <el-form-item label="閫氱煡浜哄憳" prop="afterManagerNotifyUser2">
- <el-button @click="chooseUser('afterManagerNotifyUser2')" type="primary" plain>閫夋嫨浜哄憳</el-button>
- <el-tag
- v-for="(item,i) in formData.afterManagerNotifyUser2"
- :key="item.id"
- type="danger"
- closable
- @close="closeUser('afterManagerNotifyUser2',i)"
- effect="plain">
- {{ item.userName }}
- </el-tag>
- </el-form-item>
- <el-form-item label="瓒呮湡鍚�" prop="expireAfter3">
- <el-input-number v-model="formData.expireAfter3" :controls="false" :min="1" :max="10" :step="1" step-strictly style="width: 100px"></el-input-number>
- <span style="margin-right: 10px">澶�</span>
- <el-checkbox v-model="formData.afterManagerNotify3" :true-label="1" :false-label="0">閫氱煡椤圭洰缁忕悊</el-checkbox>
- </el-form-item>
- <el-form-item label="閫氱煡浜哄憳" prop="afterManagerNotifyUser3">
- <el-button @click="chooseUser('afterManagerNotifyUser3')" type="primary" plain>閫夋嫨浜哄憳</el-button>
- <el-tag
- v-for="(item,i) in formData.afterManagerNotifyUser3"
- :key="item.id"
- type="danger"
- closable
- @close="closeUser('afterManagerNotifyUser3',i)"
- effect="plain">
- {{ item.userName }}
- </el-tag>
- </el-form-item>
- <h1>棰勮鏂瑰紡</h1>
- <div style="margin-left: 50px;margin-bottom: 20px">
- <el-checkbox v-model="formData.notifyWx" :true-label="1" :false-label="0">寰俊娑堟伅</el-checkbox>
- <div style="margin-top: 20px">
- <el-checkbox v-model="formData.notifyMobMsg" :true-label="1" :false-label="0">鐭俊</el-checkbox>
- <el-radio v-model="formData.notifyMobMsgWay" :label="0">鑷姩鍙戦��</el-radio>
- <el-radio v-model="formData.notifyMobMsgWay" :label="1">鎵嬪姩鍙戦��</el-radio>
- </div>
- </div>
- <template v-if="formData.notifyMobMsg===1">
- <el-form-item label="鎵嬫満鍙�" prop="notifyMob">
- <el-input
- v-model="formData.notifyMob"
- type="textarea"
- :rows="3"
- maxlength="1024"
- show-word-limit
- />
- </el-form-item>
- </template>
- <el-form-item label="鍙戦�佹椂闂�" prop="notifyTime">
- <el-select v-model="formData.notifyTime" placeholder="">
- <el-option
- v-for="i in 24"
- :key="i"
- :label="(i-1)+'鐐�'"
- :value="i-1">
- </el-option>
- </el-select>
- </el-form-item>
-
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="鍙栨秷" site="form" @click="close"/>
- <my-button name="淇濆瓨" site="form" @click="save"/>
- </div>
- <chooseUser v-if="chooseSetting.show" :setting="chooseSetting" @close="chooseSetting.show = false" @checkUsers="checkUsers"></chooseUser>
- </win-md>
-</template>
-
-<script>
-import winMd from '@/components/win/win-md'
-import myButton from '@/components/myButton/myButton'
-import chooseUser from "@/views/projectConfig/warningConfig/chooseUser";
-import * as api from "@/api/projectConfig/warningConfig";
-
-export default {
- name: 'edit',
- components: {winMd, myButton, chooseUser},
- props: {
- // setting 涓』鑷冲皯鍖呭惈鎺у埗dialog鏄剧ず鎴栭殣钘忕殑灞炴��,鍏朵綑灞炴�у彲鎷撳睍
- // 灏嗘坊鍔�/淇敼鐨勫ぇ閲忔暟鎹強閫昏緫浠庡垪琛ㄩ〉闈腑鍒嗙鍑烘潵,閬垮厤鍒楄〃椤甸潰浠g爜杩囧,瀹℃煡鍥伴毦
- // 鑻ユ椤甸潰椤诲洖浼犳暟鎹嚦鐖堕〉闈�,鍙湪寮曠敤缁勪欢鏃舵坊鍔犱簨浠�,鏈〉闈娇鐢╰his.$emit('浜嬩欢鍚�',鍙傛暟1,鍙傛暟2...)鍥炰紶鏁版嵁
- setting: {
- type: Object,
- default: () => {
- }
- }
- },
- data() {
- return {
- chooseSetting: {
- title: '閫夋嫨浜哄憳',
- setting: [],
- show: false
- },
- loading: false,
- formData: {
- tempExpirationNotifyName: '',
- expireBefore1: undefined,
- beforeManagerNotify1: '',
- beforeManagerNotifyUser1: [],
- expireBefore2: undefined,
- beforeManagerNotify2: '',
- beforeManagerNotifyUser2: [],
- expireBefore3: undefined,
- beforeManagerNotify3: '',
- beforeManagerNotifyUser3: [],
- expireAfter1: undefined,
- afterManagerNotify1: '',
- afterManagerNotifyUser1: [],
- expireAfter2: undefined,
- afterManagerNotify2: '',
- afterManagerNotifyUser2: [],
- expireAfter3: undefined,
- afterManagerNotify3: '',
- afterManagerNotifyUser3: [],
- notifyWx: 0,
- notifyMobMsg: 0,
- notifyMobMsgWay: '',
- notifyMob: '',
- notifyTime: ''
- },
- rules: {
- tempExpirationNotifyName: [
- {required: true, message: '璇疯緭鍏ユā鏉垮悕绉�', trigger: 'blur'},
- ],
- notifyTime: [
- {required: true, message: '璇烽�夋嫨鍙戦�佹椂闂�', trigger: 'blur'},
- ]
- },
- cur: ''
- }
- },
- created() {
- this.loading = true
- this.getInfo()
- },
- methods: {
- chooseUser(cur) {
- this.cur = cur
- this.chooseSetting.selections = this.formData[cur]
- this.chooseSetting.show = true
- },
- closeUser(key, i) {
- this.formData[key].splice(i, 1)
- },
- checkUsers(users) {
- console.log(users)
- this.formData[this.cur] = users
- this.chooseSetting.show = false
- this.cur = ''
- },
- getInfo() {
- this.title = this.setting.title
- if (this.setting.id != null) {
- // 鏌ヨ鏁版嵁
- api.getDetail({id: this.setting.id}).then(res => {
- this.loading = false
- this.formData = Object.assign(this.formData, res)
- })
- } else {
- this.loading = false
- }
- },
- close() {
- this.formData = {
- tempExpirationNotifyName: '',
- expireBefore1: undefined,
- beforeManagerNotify1: '',
- beforeManagerNotifyUser1: [],
- expireBefore2: undefined,
- beforeManagerNotify2: '',
- beforeManagerNotifyUser2: [],
- expireBefore3: undefined,
- beforeManagerNotify3: '',
- beforeManagerNotifyUser3: [],
- expireAfter1: undefined,
- afterManagerNotify1: '',
- afterManagerNotifyUser1: [],
- expireAfter2: undefined,
- afterManagerNotify2: '',
- afterManagerNotifyUser2: [],
- expireAfter3: undefined,
- afterManagerNotify3: '',
- afterManagerNotifyUser3: [],
- notifyWx: 0,
- notifyMobMsg: 0,
- notifyMobMsgWay: '',
- notifyMob: '',
- notifyTime: ''
- }
- this.$emit('close')
- },
- save() {
- this.$refs.ruleForm.validate((valid) => {
- if (valid) {
- const params = Object.assign({}, this.formData)
- let check1 = ['expireBefore1','expireBefore2','expireBefore3','expireAfter1','expireAfter2','expireAfter3']
- let check2 = ['beforeManagerNotifyUser1','beforeManagerNotifyUser2','beforeManagerNotifyUser3','afterManagerNotifyUser1','afterManagerNotifyUser2','afterManagerNotifyUser3']
- if(!check1.some(key=>params[key])){
- this.$message.error('璇峰~鍐欓璀︽椂闂�')
- return
- }
- if(params.notifyWx===0&¶ms.notifyMobMsg===0){
- this.$message.error('璇疯缃璀︽柟寮�')
- return
- }
- if(params.notifyMobMsg===1&&!check2.some(key=>params[key].length>0)&¶ms.notifyMob===''){
- this.$message.error('璇疯缃�氱煡浜哄憳')
- return
- }
- if(params.notifyMobMsg===0&&!check2.some(key=>params[key].length>0)){
- this.$message.error('璇疯缃�氱煡浜哄憳')
- return
- }
- if(params.notifyMobMsg===1&¶ms.notifyMobMsgWay===''){
- this.$message.error('璇疯缃煭淇″彂閫佹柟寮�')
- return
- }
- this.loading = true
- api[params.id ? 'upd' : 'add'](params).then(res => {
- this.loading = false
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�')
- this.close()
- this.$emit('search')
- } else {
- this.$message.error('淇濆瓨澶辫触')
- }
- }).catch(() => {
- this.loading = false
- })
- } else {
- this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��')
- }
- })
- }
- }
-}
-</script>
-<style scoped lang="scss">
-h1 {
- font-size: 18px;
- color: #000;
- font-weight: bold;
- margin-bottom: 20px;
- padding-left: 20px;
-}
-</style>
diff --git a/admin-web/src/views/projectConfig/warningConfig/index.vue b/admin-web/src/views/projectConfig/warningConfig/index.vue
deleted file mode 100644
index 2363542..0000000
--- a/admin-web/src/views/projectConfig/warningConfig/index.vue
+++ /dev/null
@@ -1,209 +0,0 @@
-<template>
- <div class="app-container">
- <el-card class="box-card" shadow="never">
- <div class="filter-container" style="margin-bottom: 10px">
- <my-search ref="searchBar" :items="items" @search="filterForm"></my-search>
- </div>
- <!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
- </el-card>
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"></edit>
- </div>
-</template>
-
-<script>
-import MyTableV2 from '@/components/myTable/myTableV2';
-import SettingIplatform from '@/utils/settingIplatform';
-import items from './items';
-import edit from './edit'
-import {del, updStatus} from "@/api/projectConfig/warningConfig";
-
-export default {
- components: {MyTableV2, edit},
- data() {
- return {
- // 鎼滅储鏉′欢
- items: items,
- filterFrom: {
- projectName: '',
- projectCode: '',
- planTypeCode: '',
- status: '1',
- },
- //鏂板缂栬緫
- editSetting: {
- title: '',
- id: '',
- show: false,
- },
- //鑺傜偣璁剧疆
- nodeSetting: {
- title: '鑺傜偣璁剧疆',
- stageId: '',
- show: false,
- },
- // 琛ㄦ牸鏁版嵁
- table: {
- showIndex: true, // 鏄惁鏄剧ず搴忓彿
- expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/p/temp/expiration/notify/list', // 璇锋眰鍦板潃
- // 宸ュ叿鏉�
- tools: {
- columnsCtrl: {
- // 鍒楁帶鍒舵寜閽�
- show: false,
- },
- generalExport: {
- // 閫氱敤瀵煎嚭鎸夐挳
- show: false,
- },
- // 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [
- {
- name: '鏂板',
- click: () => {
- this.showAdd(null);
- },
- },
- ],
- },
- // 鍒椾俊鎭�
- columns: [
- {
- title: '妯℃澘鍚嶇О', field: 'tempExpirationNotifyName', align: 'left',
- /*formatter: (row) => {
- return {
- value: row.projectName,
- type: 'primary',
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.updState(row);
- },
- }
- }*/
- },
- {title: '缂栧彿', field: 'tempExpirationNotifyCode', align: 'center'},
- {title: '鎵�灞炴満鏋�', field: 'createOrgName', align: 'left'},
- {
- title: '寰俊娑堟伅', field: 'notifyWx', align: 'center',width: 80,
- formatter: (row) => {
- return {
- value: row.notifyWx === 1 ? '寮�' : '鍏�'
- }
- }
- },
- {
- title: '鐭俊', field: 'notifyMobMsg', align: 'center',width: 80,
- formatter: (row) => {
- return {
- value: row.notifyMobMsg === 1 ? row.notifyMobMsgWay === 1 ? '鎵嬪姩' : '鑷姩' : '鍏�',
- }
- }
- },
- {
- field: 'status',
- title: '鐘舵��',
- align: 'center',
- width: 80,
- switch: (row) => {
- return {
- value: row.status === 1, // 寮�
- label: row.status === 1 ? '鍚敤' : '绂佺敤', // 寮�鐨勬弿杩�
- click: () => {
- // 鐐瑰嚮浜嬩欢
- this.updState(row);
- },
- };
- },
- },
- ],
- // 鎿嶄綔淇℃伅
- operation: {
- show: true, // 鏄剧ず鎿嶄綔鍒�
- width: 180, // 鍒楀
- attr: [
- {
- title: '缂栬緫',
- events: (row) => {
- this.showAdd(row.id);
- },
- },
- {
- title: '鍒犻櫎',
- events: (row) => {
- this.handleDelete(row);
- },
- },
- ],
- },
- paging: {
- show: false, // 鏄剧ず鍒嗛〉
- // 鍒嗛〉淇℃伅
- page: {
- small: false,
- pageNum: 1,
- pageSize: 10,
- total: 0,
- },
- },
- },
- };
- },
- mounted() {
- },
- methods: {
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
- } else {
- this.$refs.myTable.search();
- }
- },
- /*鎼滅储*/
- filterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params);
- this.search();
- },
- //娣诲姞銆佺紪杈�
- showAdd(id) {
- let title = '娣诲姞';
- if (id != null) {
- title = '缂栬緫';
- }
- this.editSetting.id = id;
- this.editSetting.title = title;
- this.editSetting.show = true;
- },
- /*寮�鍚叧闂�*/
- updState(row) {
- let text = row.status === 0 ? "鍚敤" : "绂佺敤";
- this.$modal.confirm('纭瑕�' + text + '"' + row.tempExpirationNotifyName + '"妯℃澘鍚楋紵').then(() => {
- let status = row.status === 1 ? 0 : 1
- updStatus({
- id: row.id,
- status
- }).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- this.$modal.msgSuccess(text + "鎴愬姛");
- }
- })
- })
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- this.$confirm('鏄惁纭鍒犻櫎"' + row.tempExpirationNotifyName + '"妯$増锛�', {
- type: 'warning'
- }).then(() => {
- del({id: row.id}).then(res => {
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- this.search()
- })
- })
- },
- },
-};
-</script>
-
-<style scoped></style>
diff --git a/admin-web/src/views/projectConfig/warningConfig/items.js b/admin-web/src/views/projectConfig/warningConfig/items.js
deleted file mode 100644
index c2f2b21..0000000
--- a/admin-web/src/views/projectConfig/warningConfig/items.js
+++ /dev/null
@@ -1,45 +0,0 @@
-
-import SettingIplatform from '@/utils/settingIplatform';
-export default [
- {
- type: 'text',
- dataIndex: 'projectName',
- label: '妯℃澘鍚嶇О',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- {
- type: 'text',
- dataIndex: 'projectCode',
- label: '妯℃澘缂栧彿',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
- },
- {
- type: 'cascader',
- dataIndex: 'planTypeCode',
- label: '鎵�灞炴満鏋�',
- placeholder: '璇烽�夋嫨',
- options: [],
- optionsConfig: {
- url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/tree_fin_tenant'
- }
- },
- {
- type: 'select',
- dataIndex: 'status',
- label: '鐘舵��',
- placeholder: '璇烽�夋嫨',
- defaultValue: '1',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
- }
-]
diff --git a/admin-web/src/views/stock/accessStock/outbound/index.vue b/admin-web/src/views/stock/accessStock/outbound/index.vue
index b6ce027..e574460 100644
--- a/admin-web/src/views/stock/accessStock/outbound/index.vue
+++ b/admin-web/src/views/stock/accessStock/outbound/index.vue
@@ -12,50 +12,53 @@
<div class="table-tool-bar" style="margin-bottom: 15px;">
<my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
</div>
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
- <el-row v-if="list.length" class="card" :gutter="5">
- <el-col v-for="(item, index) in list" :key="index" class="cm-item">
- <el-card class="card-data">
- <div class="card-container">
- <div class="card-header">
- <div class="card-header-left">
- <span>鍑哄簱鍗曞彿锛�</span>
- <span class="value">{{ item.businessFormCode }}</span>
- </div>
- <div class="card-header-right">
+ <div>
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }" v-loading="loading">
+ <el-row v-if="list.length" class="card" :gutter="5">
+ <el-col v-for="(item, index) in list" :key="index" class="cm-item">
+ <el-card class="card-data">
+ <div class="card-container">
+ <div class="card-header">
+ <div class="card-header-left">
+ <span>鍑哄簱鍗曞彿锛�</span>
+ <span class="value">{{ item.businessFormCode }}</span>
+ </div>
+ <div class="card-header-right">
<el-button site="form" type="success" size="mini" @click="handleExport(item)"
- >瀵煎嚭鍑哄簱鍗�</el-button
+ >瀵煎嚭鍑哄簱鍗�</el-button
>
- <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
+ <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
>鏌ョ湅璇︽儏</el-button
- >
+ >
+ </div>
</div>
- </div>
- <div class="one-hed">
- <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyName }}</div>
- <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div>
- <div class="box">
- <span class="span-two">鍑哄簱鏃堕棿锛�</span>{{ item.dealTime | formatTime }}
+ <div class="one-hed">
+ <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyName }}</div>
+ <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div>
+ <div class="box">
+ <span class="span-two">鍑哄簱鏃堕棿锛�</span>{{ item.dealTime | formatTime }}
+ </div>
</div>
- </div>
- <div class="card-end">
- <div v-for="(just, index) in item.formOutputTemplateInfoList" :key="index" class="item">
- <div class="name">{{ just.goodsName }}</div>
- <div class="value-box">
- <div class="value-box-item">
- <span class="label">鏁伴噺锛�</span>
- <span class="value">{{ just.count }}</span>
- <span class="unit">{{ just.unit }}</span>
+ <div class="card-end">
+ <div v-for="(just, index) in item.formOutputTemplateInfoList" :key="index" class="item">
+ <div class="name">{{ just.goodsName }}</div>
+ <div class="value-box">
+ <div class="value-box-item">
+ <span class="label">鏁伴噺锛�</span>
+ <span class="value">{{ just.count }}</span>
+ <span class="unit">{{ just.unit }}</span>
+ </div>
</div>
</div>
</div>
</div>
- </div>
- </el-card>
- </el-col>
- </el-row>
- <div class="no-data" v-else>鏆傛棤鏁版嵁</div>
+ </el-card>
+ </el-col>
+ </el-row>
+ <div class="no-data" v-else>鏆傛棤鏁版嵁</div>
+ </div>
</div>
+
<el-pagination
:small="false"
:current-page="pageNum"
diff --git a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
index e0d322f..002dd06 100644
--- a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
+++ b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
@@ -10,11 +10,13 @@
<el-row style="margin-top: 15px">
<el-col>
<!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
</el-col>
</el-row>
<!--娣诲姞/缂栬緫寮圭獥-->
- <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false" />
+ <!-- <detail/>-->
+ <component v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false"
+ :is="activeDetail"></component>
</el-card>
</el-container>
</el-container>
@@ -25,23 +27,41 @@
import MyTableV2 from '@/components/myTable/myTableV2';
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
-import detail from '../outbound/detail';
-import * as finsystenant from '@/api/baseSetting/finsystenant';
import myImport from '@/views/components/myImport';
-import { goodsTemplate, goodsModel } from '@/api/baseSetting/finsystenant';
-import { outputDtailList } from '@/api/stock/accessStock';
import * as DateFormatter from '@/utils/DateFormatter';
+import stockType from '@/utils/stockType';
+import detail from '../outbound/detail';
+import purchaseDetail from '@/views/stock/procure/purchaseOrder/detail.vue';// 閲囪喘鍗曡鎯�
+import transferDetail from '@/views/stock/transfer/transferissue/detail.vue';// 璋冩嫧鍗曡鎯�
+import inventoryDetail from '@/views/stock/inventorycount/inventorytask/detail.vue';// 鐩樼偣鍗曡鎯�
+import scrapDetail from '@/views/stock/scrap/itemScrapping/detail.vue';// 鎶ュ簾鍗曡鎯�
+import distributionDetail from '@/views/departmentitem/itemdis/distribution/detail.vue';// 鍒嗗彂鍗曡鎯�
+import itemscrDetail from '@/views/departmentitem/itemscr/scrapping/detail.vue';// 閮ㄩ棬鎶ュ簾鍗曡鎯�
+import returnNoteDetail from '@/views/departmentitem/itemret/returnNote/detail.vue';// 閮ㄩ棬閫�杩樺崟璇︽儏
export default {
name: 'index',
- components: { MyButton, MyTableV2, detail, myImport },
+ components: {
+ MyButton,
+ MyTableV2,
+ detail,
+ myImport,
+ purchaseDetail,
+ transferDetail,
+ inventoryDetail,
+ scrapDetail,
+ distributionDetail,
+ itemscrDetail,
+ returnNoteDetail
+ },
data() {
return {
+ activeDetail: '',
// 鎼滅储妗�
items: [
{
type: 'text',
- dataIndex: 'businessFormId',
+ dataIndex: 'businessFormCode',
label: '鍗曞彿',
placeholder: '璇疯緭鍏�',
defaultValue: '',
@@ -66,7 +86,7 @@
placeholder: '璇烽�夋嫨',
defaultValue: '',
options: [],
- cascader: [{ key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId' }],
+ cascader: [{key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId'}],
optionsConfig: {
label: 'goodsName',
value: 'id',
@@ -91,26 +111,26 @@
dataIndex: 'agencyId',
label: '鏈烘瀯',
placeholder: '璇烽�夋嫨',
- optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
+ optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
defaultValue: '',
options: [],
},
{
type: 'text',
- dataIndex: 'createdName',
+ dataIndex: 'createName',
label: '鍒涘缓浜�',
placeholder: '璇疯緭鍏�',
defaultValue: '',
},
{
type: 'date-picker',
- dataIndex: 'dealTimeStart',
+ dataIndex: 'startTime',
label: '鏃堕棿',
defaultValue: '',
},
{
type: 'date-picker',
- dataIndex: 'dealTimeEnd',
+ dataIndex: 'endTime',
label: '鑷�',
defaultValue: '',
},
@@ -155,28 +175,34 @@
},
// 鍒椾俊鎭�
columns: [
- { title: '绫诲瀷', field: 'thisType', align: 'left' },
- { title: '鍗曞彿', field: 'businessFormId', align: 'center' },
- { title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'center' },
- { title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'center' },
- { title: '鍑哄叆搴撴暟閲�', field: 'thisCount', align: 'left' },
- { title: '閲戦', field: 'totalPrice', align: 'left' },
- { title: '鎵�灞炴満鏋�', field: 'agencyName', align: 'left' },
- { title: '鍒涘缓浜�', field: 'createdName', align: 'left' },
+ {
+ title: '绫诲瀷', field: 'thisType', align: 'left',
+ formatter: (row) => {
+ let result = stockType(row)
+ return {value: result};
+ },
+ },
+ {title: '鍗曞彿', field: 'businessFormCode', align: 'center', width: 130},
+ {title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'left', minWidth: 130},
+ {title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'left', minWidth: 130},
+ {title: '鍑哄叆搴撴暟閲�', field: 'thisCount', align: 'center', width: 100},
+ {title: '閲戦', field: 'totalPrice', align: 'center', width: 100},
+ {title: '鎵�灞炴満鏋�', field: 'agencyName', align: 'left', minWidth: 130},
+ {title: '鍒涘缓浜�', field: 'operatorName', align: 'left', width: 100},
{
title: '鎿嶄綔鏃堕棿',
field: 'dealTime',
align: 'center',
width: 160,
formatter: (row) => {
- return { value: DateFormatter.LongToDateTime(row.createTime) };
+ return {value: DateFormatter.LongToDateTime(row.dealTime)};
},
},
],
// 鎿嶄綔淇℃伅
operation: {
show: true, // 鏄剧ず鎿嶄綔鍒�
- width: '150', // 鍒楀
+ width: 100, // 鍒楀
attr: [
{
title: '璇︽儏',
@@ -197,12 +223,24 @@
},
},
},
+ components: {
+ '1': 'purchaseDetail',
+ '2': 'returnNoteDetail',
+ '3': 'transferDetail',
+ '4': 'inventoryDetail',
+ '5': 'itemscrDetail',
+ '6': 'transferDetail',
+ '7': 'inventoryDetail',
+ '8': 'scrapDetail',
+ '9': 'detail',
+ }
};
},
created() {
},
methods: {
showDetail(row) {
+ this.activeDetail = this.components[row.mixType]
this.detailSetting.id = row.id;
this.detailSetting.info = JSON.stringify(row);
this.detailSetting.title = '璇︽儏';
@@ -211,7 +249,7 @@
// 鏌ヨtable鍒楄〃
search(pageNum) {
if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum);
+ this.$refs.myTable.search({pageNum});
} else {
this.$refs.myTable.search();
}
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
index 6b4a2a1..e5afac4 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
@@ -229,7 +229,6 @@
};
// 閲戦鏍¢獙
var checkPrice = (rule, value, callback) => {
- console.log(value);
if (!value) {
return callback(new Error('璇疯緭鍏�'));
}
@@ -241,7 +240,6 @@
};
// 鏁伴噺鏍¢獙
var checkCounts = (rule, value, callback) => {
- console.log(value);
if (!value) {
return callback(new Error('璇疯緭鍏�'));
}
@@ -314,7 +312,6 @@
title: '涓婁紶',
max: 20, // 鏈�澶уぇ灏忥紝鍗曚綅M
num: 10, // 鏀寔涓婁紶鍥剧墖涓暟
- accept: '.jpg,.png', // 闄愬埗鏍煎紡
tip: '', // 鎻愮ず 榛樿锛歚鍙兘涓婁紶${this.defaultSettings.num}涓�${this.defaultSettings.accept}鏂囦欢锛屼笖涓嶈秴杩�${this.defaultSettings.max}kb`
uploadUrl: getUploadUrl(), // 涓婁紶璺緞
multiple: true, // 鏄惁鏀寔鎵归噺涓婁紶
@@ -504,7 +501,6 @@
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
this.loading = true;
- console.log('formData', this.formData);
if (!this.setting.id) {
procureAdd(this.formData)
.then((res) => {
@@ -513,7 +509,6 @@
this.$emit('search');
})
.catch((err) => {
- console.log('create err', err);
this.loading = false;
this.$message.error('淇濆瓨澶辫触');
});
@@ -525,7 +520,6 @@
this.$emit('search');
})
.catch((err) => {
- console.log('edit err', err);
this.loading = false;
this.$message.error('淇濆瓨澶辫触');
});
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/index.vue b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
index e3e3865..110ee7a 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/index.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -14,7 +14,7 @@
<my-button name="瀵煎叆" @click="importSetting.dialogShow = true" site="tools" size="medium" />
</div>
<div v-loading="loading" style="margin-bottom: 15px">
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 360}px` }">
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }">
<el-row v-if="list.length" class="card" :gutter="5">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
diff --git a/admin-web/src/views/stock/scrap/itemScrapping/index.vue b/admin-web/src/views/stock/scrap/itemScrapping/index.vue
index 9514920..97373c7 100644
--- a/admin-web/src/views/stock/scrap/itemScrapping/index.vue
+++ b/admin-web/src/views/stock/scrap/itemScrapping/index.vue
@@ -12,7 +12,7 @@
<div class="table-tool-bar" style="margin-bottom: 15px">
<my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
</div>
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }">
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }">
<el-row class="card" :gutter="5" v-loading="loading">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
diff --git a/admin-web/src/views/stock/transfer/transferApplication/index.vue b/admin-web/src/views/stock/transfer/transferApplication/index.vue
index b514269..8e1a11a 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/index.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -12,7 +12,7 @@
<div class="table-tool-bar" style="margin-bottom: 15px">
<my-button name="璋冩嫧鐢宠" icon="el-icon-plus" @click="handleAdd" site="tools" size="medium" />
</div>
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }" v-loading="loading">
<el-row v-if="list.length" class="card" :gutter="5">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
diff --git a/admin-web/src/views/stock/transfer/transferissue/index.vue b/admin-web/src/views/stock/transfer/transferissue/index.vue
index c151048..f1a4aea 100644
--- a/admin-web/src/views/stock/transfer/transferissue/index.vue
+++ b/admin-web/src/views/stock/transfer/transferissue/index.vue
@@ -9,7 +9,7 @@
<el-row style="margin-top: 15px">
<el-col>
<!--鍒楄〃-->
- <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+ <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }" v-loading="loading">
<el-row v-if="list.length" class="card" :gutter="5">
<el-col v-for="(item, index) in list" :key="index" class="cm-item">
<el-card class="card-data">
--
Gitblit v1.9.1