|  | @@ -33,7 +33,7 @@
 | 
	
		
			
				|  |  |  						</el-form-item>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -						<div v-if="detail.from==4">
 | 
	
		
			
				|  |  | +						<div v-if="detail.from == 4">
 | 
	
		
			
				|  |  |  							<el-divider content-position="left">数据源配置</el-divider>
 | 
	
		
			
				|  |  |  							<el-form-item label="设备key:" prop="deviceKey">
 | 
	
		
			
				|  |  |  								{{ detail.deviceConfig.deviceKey }}
 | 
	
	
		
			
				|  | @@ -81,54 +81,54 @@
 | 
	
		
			
				|  |  |  							<el-form-item label="任务表达式:" prop="cronExpression">
 | 
	
		
			
				|  |  |  								{{ detail.dbConfig.cronExpression }}
 | 
	
		
			
				|  |  |  							</el-form-item>
 | 
	
		
			
				|  |  | -						
 | 
	
		
			
				|  |  | -						</div>
 | 
	
		
			
				|  |  | -						<div  v-if="detail.from == 1">
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -						<el-divider content-position="left">规则表达式</el-divider>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -						<div v-for="(item, index) in rule" :key="index">
 | 
	
		
			
				|  |  | -							<el-form-item label="表达式:">
 | 
	
		
			
				|  |  | -								{{ item.expression }}
 | 
	
		
			
				|  |  | -							</el-form-item>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -							<el-form-item label="参数:"> {{ item.params.name }}~ {{ item.params.value }} </el-form-item>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -							<el-divider content-position="left">数据源配置</el-divider>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -							<el-form-item label="请求方法:" prop="method">
 | 
	
		
			
				|  |  | -								{{ config.method }}
 | 
	
		
			
				|  |  | -							</el-form-item>
 | 
	
		
			
				|  |  | -							<el-form-item label="请求地址:" prop="method">
 | 
	
		
			
				|  |  | -								{{ config.url }}
 | 
	
		
			
				|  |  | -							</el-form-item>
 | 
	
		
			
				|  |  | -							<el-form-item label="更新时间:" prop="method">
 | 
	
		
			
				|  |  | -								{{ config.interval }}
 | 
	
		
			
				|  |  | -								{{ config.intervalUnit }}
 | 
	
		
			
				|  |  | -							</el-form-item>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -							<el-divider content-position="left">请求参数</el-divider>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -							<div class="content-f" v-for="(item, index) in requestParams" :key="index" style="    border: 1px solid #d9d9d9; padding: 10px;margin-bottom: 10px;">
 | 
	
		
			
				|  |  | -								
 | 
	
		
			
				|  |  | -								<div v-for="(aa, bb) in item" :key="inbbdex">
 | 
	
		
			
				|  |  | -									<el-form-item label="参数类型:">
 | 
	
		
			
				|  |  | -										{{ aa.type }}
 | 
	
		
			
				|  |  | -									</el-form-item>
 | 
	
		
			
				|  |  | -									<el-form-item label="参数标题:">
 | 
	
		
			
				|  |  | -										{{ aa.name }}
 | 
	
		
			
				|  |  | -									</el-form-item>
 | 
	
		
			
				|  |  | -									<el-form-item label="参数名:">
 | 
	
		
			
				|  |  | -										{{ aa.key }}
 | 
	
		
			
				|  |  | -									</el-form-item>
 | 
	
		
			
				|  |  | -									<el-form-item label="参数值:">
 | 
	
		
			
				|  |  | -										{{ aa.value }}
 | 
	
		
			
				|  |  | -									</el-form-item>
 | 
	
		
			
				|  |  | +						</div>
 | 
	
		
			
				|  |  | +						<div v-if="detail.from == 1">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +							<el-divider content-position="left">规则表达式</el-divider>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +							<div v-for="(item, index) in rule" :key="index">
 | 
	
		
			
				|  |  | +								<el-form-item label="表达式:">
 | 
	
		
			
				|  |  | +									{{ item.expression }}
 | 
	
		
			
				|  |  | +								</el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								<el-form-item label="参数:"> {{ item.params.name }}~ {{ item.params.value }} </el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								<el-divider content-position="left">数据源配置</el-divider>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								<el-form-item label="请求方法:" prop="method">
 | 
	
		
			
				|  |  | +									{{ config.method }}
 | 
	
		
			
				|  |  | +								</el-form-item>
 | 
	
		
			
				|  |  | +								<el-form-item label="请求地址:" prop="method">
 | 
	
		
			
				|  |  | +									{{ config.url }}
 | 
	
		
			
				|  |  | +								</el-form-item>
 | 
	
		
			
				|  |  | +								<el-form-item label="更新时间:" prop="method">
 | 
	
		
			
				|  |  | +									{{ config.interval }}
 | 
	
		
			
				|  |  | +									{{ config.intervalUnit }}
 | 
	
		
			
				|  |  | +								</el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								<el-divider content-position="left">请求参数</el-divider>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +								<div class="content-f" v-for="(item, index) in requestParams" :key="index" style="    border: 1px solid #d9d9d9; padding: 10px;margin-bottom: 10px;">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +									<div v-for="(aa, bb) in item" :key="inbbdex">
 | 
	
		
			
				|  |  | +										<el-form-item label="参数类型:">
 | 
	
		
			
				|  |  | +											{{ aa.type }}
 | 
	
		
			
				|  |  | +										</el-form-item>
 | 
	
		
			
				|  |  | +										<el-form-item label="参数标题:">
 | 
	
		
			
				|  |  | +											{{ aa.name }}
 | 
	
		
			
				|  |  | +										</el-form-item>
 | 
	
		
			
				|  |  | +										<el-form-item label="参数名:">
 | 
	
		
			
				|  |  | +											{{ aa.key }}
 | 
	
		
			
				|  |  | +										</el-form-item>
 | 
	
		
			
				|  |  | +										<el-form-item label="参数值:">
 | 
	
		
			
				|  |  | +											{{ aa.value }}
 | 
	
		
			
				|  |  | +										</el-form-item>
 | 
	
		
			
				|  |  | +									</div>
 | 
	
		
			
				|  |  |  								</div>
 | 
	
		
			
				|  |  |  							</div>
 | 
	
		
			
				|  |  | -						</div>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					</div>
 | 
	
		
			
				|  |  | +						</div>
 | 
	
		
			
				|  |  |  					</el-form>
 | 
	
		
			
				|  |  |  				</el-tab-pane>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -136,48 +136,43 @@
 | 
	
		
			
				|  |  |  					<div class="wu-box">
 | 
	
		
			
				|  |  |  						<div class="wu-title">
 | 
	
		
			
				|  |  |  							<div class="title">数据节点</div>
 | 
	
		
			
				|  |  | -							<div v-if="developer_status==0" v-auth="'add'"><el-button type="primary" @click="onOpenEdit()" >添加</el-button></div>
 | 
	
		
			
				|  |  | +							<div v-if="developer_status == 0" v-auth="'add'"><el-button type="primary" @click="onOpenEdit()">添加</el-button></div>
 | 
	
		
			
				|  |  |  						</div>
 | 
	
		
			
				|  |  | -				
 | 
	
		
			
				|  |  | -						<el-table :data="tableData.data" style="width: 100%"  v-loading="tableData.loading">
 | 
	
		
			
				|  |  | -							<el-table-column label="ID" align="center" prop="nodeId" width="80"  v-col="'id'"/>
 | 
	
		
			
				|  |  | -							<el-table-column label="数据标识" prop="key" :show-overflow-tooltip="true" v-col="'key'"/>
 | 
	
		
			
				|  |  | -							<el-table-column label="数据名称" prop="name" :show-overflow-tooltip="true"  v-col="'name'"/>
 | 
	
		
			
				|  |  | -							<el-table-column label="数据类型" prop="dataType" :show-overflow-tooltip="true"  v-col="'dataType'" />
 | 
	
		
			
				|  |  | -							<el-table-column label="数据取值项" prop="value" :show-overflow-tooltip="true"   v-col="'value'"/>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -							<el-table-column prop="createdAt" label="创建时间" align="center"  v-col="'createdAt'" width="180"></el-table-column>
 | 
	
		
			
				|  |  | +						<el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
 | 
	
		
			
				|  |  | +							<el-table-column label="ID" align="center" prop="nodeId" width="80" v-col="'id'" />
 | 
	
		
			
				|  |  | +							<el-table-column label="数据标识" prop="key" :show-overflow-tooltip="true" v-col="'key'" />
 | 
	
		
			
				|  |  | +							<el-table-column label="数据名称" prop="name" :show-overflow-tooltip="true" v-col="'name'" />
 | 
	
		
			
				|  |  | +							<el-table-column label="数据类型" prop="dataType" :show-overflow-tooltip="true" v-col="'dataType'" />
 | 
	
		
			
				|  |  | +							<el-table-column label="数据取值项" prop="value" :show-overflow-tooltip="true" v-col="'value'" />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +							<el-table-column prop="createdAt" label="创建时间" align="center" v-col="'createdAt'" width="180"></el-table-column>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  							<el-table-column label="操作" width="200" align="center" fixed="right">
 | 
	
		
			
				|  |  |  								<template #default="scope">
 | 
	
		
			
				|  |  | -									<el-button size="small" text type="warning" @click="onOpenEdit1(scope.row)" v-if="developer_status==0" v-auth="'edit'">修改</el-button>
 | 
	
		
			
				|  |  | -									<el-button size="small" text type="danger" @click="onRowDel(scope.row)" v-if="developer_status==0" v-auth="'del'">删除</el-button>
 | 
	
		
			
				|  |  | +									<el-button size="small" text type="warning" @click="onOpenEdit1(scope.row)" v-if="developer_status == 0" v-auth="'edit'">修改</el-button>
 | 
	
		
			
				|  |  | +									<el-button size="small" text type="danger" @click="onRowDel(scope.row)" v-if="developer_status == 0" v-auth="'del'">删除</el-button>
 | 
	
		
			
				|  |  |  								</template>
 | 
	
		
			
				|  |  |  							</el-table-column>
 | 
	
		
			
				|  |  |  						</el-table>
 | 
	
		
			
				|  |  | -						<pagination
 | 
	
		
			
				|  |  | -							v-show="tableData.total > 0"
 | 
	
		
			
				|  |  | -							:total="tableData.total"
 | 
	
		
			
				|  |  | -							v-model:page="tableData.param.pageNum"
 | 
	
		
			
				|  |  | -							@pagination="typeList"
 | 
	
		
			
				|  |  | -						/>
 | 
	
		
			
				|  |  | +						<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" @pagination="typeList" />
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  				</el-tab-pane>
 | 
	
		
			
				|  |  |  				<el-tab-pane label="查看数据" name="3">
 | 
	
		
			
				|  |  |  					<div class="wu-box">
 | 
	
		
			
				|  |  | -						<JsonViewer :value="jsonData"  boxed sort theme="jv-dark" @click="onKeyclick" />
 | 
	
		
			
				|  |  | +						<JsonViewer :value="jsonData" boxed sort theme="jv-dark" @click="onKeyclick" />
 | 
	
		
			
				|  |  |  					</div>
 | 
	
		
			
				|  |  |  				</el-tab-pane>
 | 
	
		
			
				|  |  |  			</el-tabs>
 | 
	
		
			
				|  |  |  		</div>
 | 
	
		
			
				|  |  |  		<EditDic ref="editDicRef" @typeList="typeList" />
 | 
	
		
			
				|  |  | -		
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	</div>
 | 
	
		
			
				|  |  |  </template>            
 | 
	
		
			
				|  |  |  <script lang="ts">
 | 
	
		
			
				|  |  |  import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
 | 
	
		
			
				|  |  | -import { Delete, Edit, Search, Share, Upload } from '@element-plus/icons-vue';
 | 
	
		
			
				|  |  | -import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
 | 
	
		
			
				|  |  | +import { Edit } from '@element-plus/icons-vue';
 | 
	
		
			
				|  |  | +import { ElMessageBox, ElMessage } from 'element-plus';
 | 
	
		
			
				|  |  |  import { useRoute } from 'vue-router';
 | 
	
		
			
				|  |  |  import "vue3-json-viewer/dist/index.css";
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -203,13 +198,13 @@ interface TableDataState {
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |  	name: 'dataDetail',
 | 
	
		
			
				|  |  |  	components: { EditDic },
 | 
	
		
			
				|  |  | -	setup(prop, context) {
 | 
	
		
			
				|  |  | +	setup() {
 | 
	
		
			
				|  |  |  		const editDicRef = ref();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		const route = useRoute();
 | 
	
		
			
				|  |  |  		const state = reactive<TableDataState>({
 | 
	
		
			
				|  |  |  			config: {},
 | 
	
		
			
				|  |  | -			jsonData:{},
 | 
	
		
			
				|  |  | +			jsonData: {},
 | 
	
		
			
				|  |  |  			ruledata: [
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  |  					expression: '',
 | 
	
	
		
			
				|  | @@ -259,17 +254,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  				state.developer_status = res.data.status;
 | 
	
		
			
				|  |  |  				state.config = res.data.apiConfig;
 | 
	
		
			
				|  |  |  				state.requestParams = res.data.apiConfig.requestParams;
 | 
	
		
			
				|  |  | -				// res.data.sourceRule.forEach((item, index) => {
 | 
	
		
			
				|  |  | -				// 	state.rule[index].expression = item.expression;
 | 
	
		
			
				|  |  | -				// 	state.rule[index].params.name = Object.keys(item.params);
 | 
	
		
			
				|  |  | -				// 	state.rule[index].params.value = item.params[Object.keys(item.params)];
 | 
	
		
			
				|  |  | -				// });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -				
 | 
	
		
			
				|  |  | -			
 | 
	
		
			
				|  |  | -			}); 
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		
 | 
	
		
			
				|  |  | +			});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			typeList();
 | 
	
		
			
				|  |  |  		});
 | 
	
	
		
			
				|  | @@ -284,34 +269,33 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		const CkOption = () => {
 | 
	
		
			
				|  |  |  			if (state.developer_status == 1) {
 | 
	
		
			
				|  |  | -				api.common.undeploy({ sourceId: route.params.sourceId }).then((res: any) => {
 | 
	
		
			
				|  |  | +				api.common.undeploy({ sourceId: route.params.sourceId }).then(() => {
 | 
	
		
			
				|  |  |  					ElMessage.success('操作成功');
 | 
	
		
			
				|  |  |  					state.developer_status = 0;
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  |  			} else {
 | 
	
		
			
				|  |  | -				api.common.deploy({ sourceId: route.params.sourceId }).then((res: any) => {
 | 
	
		
			
				|  |  | +				api.common.deploy({ sourceId: route.params.sourceId }).then(() => {
 | 
	
		
			
				|  |  |  					ElMessage.success('操作成功');
 | 
	
		
			
				|  |  |  					state.developer_status = 1;
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		};
 | 
	
		
			
				|  |  | -		const handleClick = (tab: TabsPaneContext, event: Event) => {
 | 
	
		
			
				|  |  | -			if(tab.props.name==3){
 | 
	
		
			
				|  |  | -				if(state.detail.from==1){
 | 
	
		
			
				|  |  | +		const handleClick = (tab: TabsPaneContext) => {
 | 
	
		
			
				|  |  | +			if (tab.props.name == 3) {
 | 
	
		
			
				|  |  | +				if (state.detail.from == 1) {
 | 
	
		
			
				|  |  |  					api.common.api(state.detail.sourceId).then((res: any) => {
 | 
	
		
			
				|  |  | -						state.jsonData=JSON.parse(res.data);
 | 
	
		
			
				|  |  | +						state.jsonData = JSON.parse(res.data);
 | 
	
		
			
				|  |  |  					})
 | 
	
		
			
				|  |  | -				}else if(state.detail.from==4){
 | 
	
		
			
				|  |  | +				} else if (state.detail.from == 4) {
 | 
	
		
			
				|  |  |  					api.common.devapi(state.detail.sourceId).then((res: any) => {
 | 
	
		
			
				|  |  | -						state.jsonData=JSON.parse(res.data);
 | 
	
		
			
				|  |  | +						state.jsonData = JSON.parse(res.data);
 | 
	
		
			
				|  |  |  					})
 | 
	
		
			
				|  |  | -				}else if(state.detail.from==2){
 | 
	
		
			
				|  |  | +				} else if (state.detail.from == 2) {
 | 
	
		
			
				|  |  |  					api.common.devdb(state.detail.sourceId).then((res: any) => {
 | 
	
		
			
				|  |  | -						state.jsonData=JSON.parse(res.data);
 | 
	
		
			
				|  |  | +						state.jsonData = JSON.parse(res.data);
 | 
	
		
			
				|  |  |  					})
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  		};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		const onRowDel = (row: TableDataRow) => {
 | 
	
	
		
			
				|  | @@ -338,7 +322,6 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  						typeList();
 | 
	
		
			
				|  |  |  					});
 | 
	
		
			
				|  |  |  				})
 | 
	
		
			
				|  |  | -				.catch(() => {});
 | 
	
		
			
				|  |  |  		};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		// 打开修改数据源弹窗
 | 
	
	
		
			
				|  | @@ -369,28 +352,35 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  	width: 100%;
 | 
	
		
			
				|  |  |  	padding: 20px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .content-box {
 | 
	
		
			
				|  |  |  	background: #fff;
 | 
	
		
			
				|  |  |  	width: 100%;
 | 
	
		
			
				|  |  |  	padding: 20px;
 | 
	
		
			
				|  |  |  	margin-top: 20px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box {
 | 
	
		
			
				|  |  |  	display: flex;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box .title {
 | 
	
		
			
				|  |  |  	font-size: 18px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box .pro-status {
 | 
	
		
			
				|  |  |  	line-height: 30px;
 | 
	
		
			
				|  |  |  	margin-left: 30px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box .pro-status .on {
 | 
	
		
			
				|  |  |  	background: #52c41a;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box .pro-status .off {
 | 
	
		
			
				|  |  |  	background: #c41a1a;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box .pro-status span {
 | 
	
		
			
				|  |  |  	position: relative;
 | 
	
		
			
				|  |  |  	top: -1px;
 | 
	
	
		
			
				|  | @@ -401,30 +391,36 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  	border-radius: 50%;
 | 
	
		
			
				|  |  |  	margin-right: 5px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .cont_box .pro-option {
 | 
	
		
			
				|  |  |  	line-height: 30px;
 | 
	
		
			
				|  |  |  	margin-left: 10px;
 | 
	
		
			
				|  |  |  	color: #1890ff;
 | 
	
		
			
				|  |  |  	cursor: pointer;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .content-box .pro-box {
 | 
	
		
			
				|  |  |  	display: flex;
 | 
	
		
			
				|  |  |  	padding: 10px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .content-box .pro-box .protitle {
 | 
	
		
			
				|  |  |  	font-size: 18px;
 | 
	
		
			
				|  |  |  	font-weight: bold;
 | 
	
		
			
				|  |  |  	line-height: 35px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .content-box .pro-box .buttonedit {
 | 
	
		
			
				|  |  |  	border: 0px;
 | 
	
		
			
				|  |  |  	color: #1890ff;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  table {
 | 
	
		
			
				|  |  |  	border-collapse: collapse;
 | 
	
		
			
				|  |  |  	text-indent: initial;
 | 
	
		
			
				|  |  |  	border-spacing: 2px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  tbody {
 | 
	
		
			
				|  |  |  	box-sizing: border-box;
 | 
	
		
			
				|  |  |  	display: table-row-group;
 | 
	
	
		
			
				|  | @@ -437,37 +433,46 @@ tr {
 | 
	
		
			
				|  |  |  	vertical-align: inherit;
 | 
	
		
			
				|  |  |  	border-color: inherit;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-view {
 | 
	
		
			
				|  |  |  	width: 100%;
 | 
	
		
			
				|  |  |  	overflow: hidden;
 | 
	
		
			
				|  |  |  	border-radius: 4px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-view {
 | 
	
		
			
				|  |  |  	border: 1px solid #e8e8e8;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-view table {
 | 
	
		
			
				|  |  |  	width: 100%;
 | 
	
		
			
				|  |  |  	table-layout: fixed;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -.ant-descriptions-view > table {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.ant-descriptions-view>table {
 | 
	
		
			
				|  |  |  	table-layout: auto;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-row {
 | 
	
		
			
				|  |  |  	border-bottom: 1px solid #e8e8e8;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-item-label {
 | 
	
		
			
				|  |  |  	color: rgba(0, 0, 0, 0.85);
 | 
	
		
			
				|  |  |  	font-weight: 400;
 | 
	
		
			
				|  |  |  	font-size: 14px;
 | 
	
		
			
				|  |  |  	line-height: 1.5;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-item-label {
 | 
	
		
			
				|  |  |  	padding: 16px 24px;
 | 
	
		
			
				|  |  |  	border-right: 1px solid #e8e8e8;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-item-label {
 | 
	
		
			
				|  |  |  	background-color: #fafafa;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .ant-descriptions-item-content {
 | 
	
		
			
				|  |  |  	padding: 16px 24px;
 | 
	
		
			
				|  |  |  	border-right: 1px solid #e8e8e8;
 | 
	
	
		
			
				|  | @@ -476,11 +481,13 @@ tr {
 | 
	
		
			
				|  |  |  	font-size: 14px;
 | 
	
		
			
				|  |  |  	line-height: 1.5;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .wu-box {
 | 
	
		
			
				|  |  |  	border: #e8e8e8 solid 1px;
 | 
	
		
			
				|  |  |  	padding: 20px;
 | 
	
		
			
				|  |  |  	width: 100%;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .wu-box .wu-title {
 | 
	
		
			
				|  |  |  	display: flex;
 | 
	
		
			
				|  |  |  	flex-direction: row;
 | 
	
	
		
			
				|  | @@ -488,6 +495,7 @@ tr {
 | 
	
		
			
				|  |  |  	padding: 20px;
 | 
	
		
			
				|  |  |  	border-bottom: #e8e8e8 1px solid;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .wu-box .wu-title .title {
 | 
	
		
			
				|  |  |  	font-size: 18px;
 | 
	
		
			
				|  |  |  }
 |